Merge branch 'main' into refactor_rename

# Conflicts:
#	marl_factory_grid/configs/default_config.yaml
#	marl_factory_grid/environment/entity/object.py
This commit is contained in:
Chanumask
2023-10-31 10:28:25 +01:00
18 changed files with 217 additions and 92 deletions

View File

@@ -12,7 +12,7 @@ class BoundEntityMixin:
if self.bound_entity:
return f'{self.__class__.__name__}({self.bound_entity.name})'
else:
print()
pass
def belongs_to_entity(self, entity):
return entity == self.bound_entity

View File

@@ -40,17 +40,6 @@ class _Object:
name = h.add_pos_name(name, self)
return name
# @property
# def name(self):
# name = f"{self.__class__.__name__}"
# if self.bound_entity:
# name += f"[{self.bound_entity.name}]"
# if self._str_ident is not None:
# name += f"({self._str_ident})"
# else:
# name += f"(#{self.u_int})"
# return name
@property
def identifier(self):
if self._str_ident is not None:
@@ -165,25 +154,30 @@ class _Object:
# except AttributeError:
# return False
#
# @property
# def var_can_collide(self):
# try:
# return self._collection.var_can_collide or False
# except AttributeError:
# return False
# @property
# def var_can_collide(self):
# try:
# return self._collection.var_can_collide or False
# except AttributeError:
# return False
#
# @property
# def encoding(self):
# return c.VALUE_OCCUPIED_CELL
#
# def __init__(self, **kwargs):
# super(EnvObject, self).__init__(**kwargs)
# @property
# def encoding(self):
# return c.VALUE_OCCUPIED_CELL
#
# def change_parent_collection(self, other_collection):
# other_collection.add_item(self)
# self._collection.delete_env_object(self)
# self._collection = other_collection
# return self._collection == other_collection
#
# def summarize_state(self):
# return dict(name=str(self.name))
# def __init__(self, **kwargs):
# self._bound_entity = None
# super(EnvObject, self).__init__(**kwargs)
#
#
# def change_parent_collection(self, other_collection):
# other_collection.add_item(self)
# self._collection.delete_env_object(self)
# self._collection = other_collection
# return self._collection == other_collection
#
#
# def summarize_state(self):
# return dict(name=str(self.name))

View File

@@ -1,6 +1,6 @@
from collections import defaultdict
from operator import itemgetter
from random import shuffle
from random import shuffle, random
from typing import Dict
from marl_factory_grid.environment.groups.objects import _Objects
@@ -26,6 +26,7 @@ class Entities(_Objects):
@property
def floorlist(self):
shuffle(self._floor_positions)
return self._floor_positions
def __init__(self, floor_positions):

View File

@@ -59,7 +59,7 @@ class _Objects:
return self
def remove_item(self, item: _entity):
for observer in self.observers:
for observer in item.observers:
observer.notify_del_entity(item)
# noinspection PyTypeChecker
del self._data[item.name]
@@ -126,10 +126,6 @@ class _Objects:
return f'{self.__class__.__name__}[{repr_dict}]'
def notify_del_entity(self, entity: _Object):
try:
entity.del_observer(self)
except AttributeError:
pass
try:
self.pos_dict[entity.pos].remove(entity)
except (AttributeError, ValueError, IndexError):