M2-PT-DRP/source/managers/RoleManager.py

29 lines
619 B
Python

from source.behaviors import roles
from source.managers import Manager
class RoleManager:
"""
Role Manager
Responsible for the passive behavior of the machine and sending packets
"""
def __init__(self, manager: "Manager"):
self.manager = manager
# the currently used role
self.current: roles.base.BaseRole = roles.UndefinedRole(self.manager)
def handle(self) -> None:
"""
Run the role
"""
self.current.handle()
def loop(self) -> None:
"""
Handle forever
"""
while True:
self.handle()