From 6117d8c2ed6c80fc84c24121c5acc4248f99c68b Mon Sep 17 00:00:00 2001 From: oclaim Date: Fri, 4 Jul 2025 20:06:55 -0400 Subject: [PATCH] Moved the Hook class --- src/NoPELib/expansionsLib.py | 20 ++++++++++++++++++++ src/NoPELib/player_settings.py | 23 ++--------------------- 2 files changed, 22 insertions(+), 21 deletions(-) diff --git a/src/NoPELib/expansionsLib.py b/src/NoPELib/expansionsLib.py index bd60c4f..ad8a6c3 100644 --- a/src/NoPELib/expansionsLib.py +++ b/src/NoPELib/expansionsLib.py @@ -2,12 +2,32 @@ """ import abc +import copy from typing import TYPE_CHECKING if TYPE_CHECKING: from NoPELib.player_settings import ExpansionsManager +class Hook: + """ + A class that allows the creation of hooks. + + Methods: + connect: Connect a slot when the signal is launched. + """ + def __init__(self): + self._slot = [] + + def __call__(self, *args, **kwargs): + for fct in self._slot: + fct(*args, **kwargs) + + def connect(self, fct): + """ Connect a slot when the signal is launched. """ + self._slot.append(fct) + + class Expansion: """ A meta class implementation meant to describe how to interact with any kind diff --git a/src/NoPELib/player_settings.py b/src/NoPELib/player_settings.py index 515462a..eaa877f 100644 --- a/src/NoPELib/player_settings.py +++ b/src/NoPELib/player_settings.py @@ -11,25 +11,6 @@ import NoPELib.expansionsLib as expansionsLib _log = logging.getLogger('NoPE-Lib') -class Hook: - """ - A class that allows the creation of hooks. - - Methods: - connect: Connect a slot when the signal is launched. - """ - def __init__(self): - self._slot = [] - - def __call__(self, *args, **kwargs): - for fct in self._slot: - fct(*args, **kwargs) - - def connect(self, fct): - """ Connect a slot when the signal is launched. """ - self._slot.append(fct) - - class PlayersManager: """ Manager of players for a given game. @@ -82,8 +63,8 @@ class PlayersManager: if name in activePlayers } # Create the signals - self.onMadePlayerActive = Hook() - self.onMadePlayerInactive = Hook() + self.onMadePlayerActive = expansionsLib.Hook() + self.onMadePlayerInactive = expansionsLib.Hook() def __getitem__(self, playerName: str): """