Remove BoundDestination Object

New Variable 'var_can_be_bound'
Observations adjusted accordingly
This commit is contained in:
Steffen Illium
2023-10-12 17:14:32 +02:00
parent e326a95bf4
commit f5c6317158
22 changed files with 98 additions and 110 deletions

View File

@ -11,10 +11,6 @@ class Agents(PositionMixin, EnvObjects):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
@property
def obs_pairs(self):
return [(a.name, a) for a in self]
@property
def action_space(self):
from gymnasium import spaces

View File

@ -9,6 +9,7 @@ class EnvObjects(Objects):
var_can_collide: bool = False
var_has_position: bool = False
var_can_move: bool = False
var_can_be_bound: bool = False
@property
def encodings(self):

View File

@ -92,11 +92,11 @@ class HasBoundMixin:
def by_entity(self, entity):
try:
return next((x for x in self if x.belongs_to_entity(entity)))
except StopIteration:
except (StopIteration, AttributeError):
return None
def idx_by_entity(self, entity):
try:
return next((idx for idx, x in enumerate(self) if x.belongs_to_entity(entity)))
except StopIteration:
except (StopIteration, AttributeError):
return None

View File

@ -24,7 +24,9 @@ class Objects:
@property
def obs_pairs(self):
return [(self.name, self)]
pair_list = [(self.name, self)]
pair_list.extend([(a.name, a) for a in self])
return pair_list
@property
def names(self):