Files
PyG2O/g2o/events.py
AURUMVORXX f5a748e1ff feat: Added conversion SqTable -> Dictionary
+ Added onBan event
+ Fixed wrong argument order in onTime event
2024-11-02 18:32:07 +03:00

37 lines
875 B
Python

eventList = {}
def callEvent(name, **args):
if name in eventList:
for event in eventList[name]:
event['function'](**args)
def addEvent(name):
if not name in eventList:
eventList[name] = []
def event(name, priority = 9999):
def inlineEvt(func):
if not name in eventList:
pass
eventList[name].append({'function': func, 'priority': priority})
eventList[name].sort(key = lambda x: x['priority'])
return func
return inlineEvt
def removeEventHandler(name, func):
if not name in eventList:
pass
for index, item in enumerate(eventList[name]):
if item['function'] == func:
del eventList[name][index]
## registering all events
addEvent('onInit')
addEvent('onExit')
addEvent('onTick')
addEvent('onTime')
addEvent('onBan')