fixed render funciton and obsbuilder

This commit is contained in:
Chanumask
2023-11-02 12:02:03 +01:00
parent ee4d29d50b
commit 4a8c12a5c3
7 changed files with 31 additions and 19 deletions

View File

@ -41,7 +41,7 @@ class Collection(_Objects):
super(Collection, self).__init__(*args, **kwargs)
self.size = size
def spawn(self, coords_or_quantity: Union[int, List[Tuple[(int, int)]]], *entity_args): # woihn mit den args
def spawn(self, coords_or_quantity: Union[int, List[Tuple[(int, int)]]], *entity_args): # woihn mit den args
if isinstance(coords_or_quantity, int):
self.add_items([self._entity() for _ in range(coords_or_quantity)])
else:
@ -66,7 +66,13 @@ class Collection(_Objects):
@property
def obs_pairs(self):
return [(x.name, x) for x in self]
pair_list = [(self.name, self)]
try:
if self.var_can_be_bound:
pair_list.extend([(a.name, a) for a in self])
except AttributeError:
pass
return pair_list
def by_entity(self, entity):
try:
@ -81,7 +87,10 @@ class Collection(_Objects):
return None
def render(self):
return [y for y in [x.render() for x in self] if y is not None]
if self.var_has_position:
return [y for y in [x.render() for x in self] if y is not None]
else:
return []
@classmethod
def from_coordinates(cls, positions: [(int, int)], *args, entity_kwargs=None, **kwargs, ):

View File

@ -44,5 +44,9 @@ class GlobalPositions(Collection):
def var_can_collide(self):
return False
@property
def var_can_be_bound(self):
return True
def __init__(self, *args, **kwargs):
super(GlobalPositions, self).__init__(*args, **kwargs)