lightspeed.events_manager#

Overview#

API that let developer to register DS events (behaviors).

For example, if an attribute in the current stage change, we want to fired something.

Or if we open a stage, we want to do something.

API#

To register an DS event

First you need to create an extension that will implement the behavior, like: lightspeed.event.my_behavior

from lightspeed.events_manager.scripts.i_ds_event import IDSEvent


class MyBehavior(IDSEvent):

    def __init__(self):
        super().__init__()
        self.default_attr = {}
        for attr, value in self.default_attr.items():
            setattr(self, attr, value)

    @property
    def name(self) -> str:
        """Name of the event"""
        return "MyBehavior"

    def _install(self):
        """Function that will create the behavior"""
        print("Behavior installed")

    def _uninstall(self):
        """Function that will delete the behavior"""
        print("Behavior uninstalled")

After you have to register your behavior

from lightspeed.events_manager.scripts.core import EVENTS_MANAGER_INSTANCE

my_behavior = MyBehavior()
EVENTS_MANAGER_INSTANCE.register_event(my_behavior)

As a result, the event manager will install your behavior.

All commands#

from lightspeed.events_manager.scripts.core import EVENTS_MANAGER_INSTANCE

EVENTS_MANAGER_INSTANCE.register_event()
EVENTS_MANAGER_INSTANCE.unregister_event()
EVENTS_MANAGER_INSTANCE.get_registered_events()
EVENTS_MANAGER_INSTANCE.subscribe_event_registered()