feat: Added remaining event related functionality

This commit is contained in:
AURUMVORXX
2024-11-06 19:45:19 +03:00
parent 882d2cc038
commit b75b2ab2a4
2 changed files with 21 additions and 4 deletions

View File

@@ -3,6 +3,8 @@ from g2o.events import addEvent
from g2o.events import callEvent
from g2o.events import event
from g2o.events import removeEventHandler
from g2o.events import toggleEvent
from g2o.events import removeEvent
from g2o.packets import Packet
from g2o.damage import DamageDescription

View File

@@ -1,5 +1,6 @@
eventList = {}
disabledEventList = []
def callEvent(evtName : str, **kwargs : dict):
"""
@@ -31,9 +32,13 @@ def callEvent(evtName : str, **kwargs : dict):
isEventCancelled = False
if evtName in eventList:
if evtName in eventList and evtName not in disabledEventList:
for event in eventList[evtName]:
event['function'].eventName = evtName
event['function'].cancelled = isEventCancelled
result = event['function'](**kwargs)
if result != None:
isEventCancelled = not result
@@ -87,8 +92,8 @@ def event(name : str, priority : int = 9999):
```
"""
def inlineEvt(func):
if not name in eventList:
pass
if name not in eventList:
return None
eventList[name].append({'function': func, 'priority': priority})
eventList[name].sort(key = lambda x: x['priority'])
@@ -126,6 +131,16 @@ def removeEventHandler(name : str, func : object):
if item['function'] == func:
del eventList[name][index]
def toggleEvent(name : str, toggle : bool):
if not toggle and name not in disabledEventList:
disabledEventList.append(name)
elif toggle and name in disabledEventList:
disabledEventList.remove(name)
def removeEvent(name : str):
if name in eventList:
eventList.pop(name)
## registering default events
addEvent('onInit')