diff --git a/pyAmakCore/classes/tools/amasIHM.py b/pyAmakCore/classes/tools/amasIHM.py new file mode 100644 index 0000000000000000000000000000000000000000..5c1a6889566a7cf70374a6cfc999547e0ffe48cf --- /dev/null +++ b/pyAmakCore/classes/tools/amasIHM.py @@ -0,0 +1,36 @@ +""" +Amas class that need to be used for pyAmakIhm +""" +from pyAmakCore.classes.amas import Amas +from pyAmakCore.classes.environment import Environment + + +class AmasIHM(Amas): + """ + Convenient class to override while using pyAmakIHM + """ + + def __init__(self, environment: Environment): + self.__observer = None + super().__init__(environment) + + def get_Agents_Sorted(self): + """ + sort agent by id + """ + agents = self.get_agents() + agents.sort(key=lambda x: x.get_id()) + return agents + + def cycle(self) -> None: + """ + override amas cycle, to update obsever after each cycle + """ + super().cycle() + self.__observer.updateCycle(self.get_environment(), self) + + def attach(self, observer: 'Controleur') -> None: + """ + set observer pointer to observer + """ + self.__observer = observer diff --git a/setup.py b/setup.py index 58c025a96c70d9f344b9d08422c581a589eb9946..fec18fe1b1c80df676f2a8c987e584a3545928ae 100644 --- a/setup.py +++ b/setup.py @@ -3,7 +3,7 @@ from setuptools import setup, find_packages setup( name='pyAmakCore', packages=find_packages(), - version='0.0.3', + version='0.0.4', description='AmakFramework in python', author='BE', install_requires=[],