Files
manual_slop/events.py

15 lines
450 B
Python

class EventEmitter:
def __init__(self):
self._listeners = {}
def on(self, event_name, callback):
if event_name not in self._listeners:
self._listeners[event_name] = []
self._listeners[event_name].append(callback)
def emit(self, event_name, *args, **kwargs):
if event_name in self._listeners:
for callback in self._listeners[event_name]:
callback(*args, **kwargs)