feat: Added PyG2O python library
This commit is contained in:
36
g2o/events.py
Normal file
36
g2o/events.py
Normal file
@@ -0,0 +1,36 @@
|
||||
|
||||
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 the events
|
||||
|
||||
addEvent('onInit')
|
||||
addEvent('onExit')
|
||||
addEvent('onTick')
|
||||
addEvent('onTime')
|
||||
Reference in New Issue
Block a user