From 0c4f6a367720729646983e3e5a3f78cac352a339 Mon Sep 17 00:00:00 2001 From: shinedday <shinedday@gmail.com> Date: Mon, 17 May 2021 15:13:21 +0200 Subject: [PATCH] Add amasIHM --- pyAmakCore/classes/tools/amasIHM.py | 36 +++++++++++++++++++++++++++++ setup.py | 2 +- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 pyAmakCore/classes/tools/amasIHM.py diff --git a/pyAmakCore/classes/tools/amasIHM.py b/pyAmakCore/classes/tools/amasIHM.py new file mode 100644 index 0000000..5c1a688 --- /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 58c025a..fec18fe 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=[], -- GitLab