mirror of
https://github.com/illiumst/marl-factory-grid.git
synced 2025-05-23 07:16:44 +02:00
naming Functions
This commit is contained in:
parent
115a79e930
commit
fbbf8d6f6e
@ -2,6 +2,7 @@ from collections import defaultdict
|
|||||||
from typing import Union
|
from typing import Union
|
||||||
|
|
||||||
from marl_factory_grid.environment import constants as c
|
from marl_factory_grid.environment import constants as c
|
||||||
|
import marl_factory_grid.utils.helpers as h
|
||||||
|
|
||||||
|
|
||||||
class _Object:
|
class _Object:
|
||||||
@ -30,8 +31,14 @@ class _Object:
|
|||||||
@property
|
@property
|
||||||
def name(self):
|
def name(self):
|
||||||
if self._str_ident is not None:
|
if self._str_ident is not None:
|
||||||
return f'{self.__class__.__name__}[{self._str_ident}]'
|
name = f'{self.__class__.__name__}[{self._str_ident}]'
|
||||||
return f'{self.__class__.__name__}#{self.u_int}'
|
else:
|
||||||
|
name = f'{self.__class__.__name__}#{self.u_int}'
|
||||||
|
if self.bound_entity:
|
||||||
|
name = h.add_bound_name(name, self.bound_entity)
|
||||||
|
if self.var_has_position:
|
||||||
|
name = h.add_pos_name(name, self)
|
||||||
|
return name
|
||||||
|
|
||||||
# @property
|
# @property
|
||||||
# def name(self):
|
# def name(self):
|
||||||
|
@ -232,3 +232,15 @@ def locate_and_import_class(class_name, folder_path: Union[str, PurePath] = ''):
|
|||||||
except AttributeError:
|
except AttributeError:
|
||||||
continue
|
continue
|
||||||
raise AttributeError(f'Class "{class_name}" was not found in "{folder_path.name}"', list(set(all_found_modules)))
|
raise AttributeError(f'Class "{class_name}" was not found in "{folder_path.name}"', list(set(all_found_modules)))
|
||||||
|
|
||||||
|
|
||||||
|
def add_bound_name(name_str, bound_e):
|
||||||
|
return f'{name_str}({bound_e.identifier})'
|
||||||
|
|
||||||
|
|
||||||
|
def add_pos_name(name_str, bound_e):
|
||||||
|
if bound_e.var_has_pos:
|
||||||
|
return f'{name_str}({bound_e.pos})'
|
||||||
|
return name_str
|
||||||
|
|
||||||
|
|
||||||
|
@ -8,6 +8,7 @@ from numba import njit
|
|||||||
|
|
||||||
from marl_factory_grid.environment import constants as c
|
from marl_factory_grid.environment import constants as c
|
||||||
from marl_factory_grid.environment.groups.utils import Combined
|
from marl_factory_grid.environment.groups.utils import Combined
|
||||||
|
import marl_factory_grid.utils.helpers as h
|
||||||
from marl_factory_grid.utils.states import Gamestate
|
from marl_factory_grid.utils.states import Gamestate
|
||||||
from marl_factory_grid.utils.utility_classes import Floor
|
from marl_factory_grid.utils.utility_classes import Floor
|
||||||
|
|
||||||
@ -118,13 +119,16 @@ class OBSBuilder(object):
|
|||||||
e = self.all_obs[l_name]
|
e = self.all_obs[l_name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
try:
|
try:
|
||||||
e = self.all_obs[f'{l_name}({agent.name})']
|
# Look for bound entity names!
|
||||||
|
e = self.all_obs[h.add_bound_name(l_name, agent)]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
try:
|
try:
|
||||||
e = next(x for x in self.all_obs if l_name in x and agent.name in x)
|
e = next(x for x in self.all_obs if l_name in x and agent.name in x)
|
||||||
except StopIteration:
|
except StopIteration:
|
||||||
raise KeyError(
|
raise KeyError(
|
||||||
f'Check typing! {l_name} could not be found in: {list(dict(self.all_obs).keys())}')
|
f'Check for spelling errors! \n '
|
||||||
|
f'No combination of "{l_name} and {agent.name}" could not be found in:\n '
|
||||||
|
f'{list(dict(self.all_obs).keys())}')
|
||||||
|
|
||||||
try:
|
try:
|
||||||
positional = e.var_has_position
|
positional = e.var_has_position
|
||||||
|
Loading…
x
Reference in New Issue
Block a user