Cleaned and improved some event stuff

This commit is contained in:
2025-05-26 13:11:27 -05:00
parent c1d8dd46d8
commit d6a2f4b567
27 changed files with 296 additions and 108 deletions

View File

@@ -47,4 +47,25 @@ func eventAreFlagsOff(event:SpecialEvent, flagsToCheck:int) -> bool:
func eventIsAnyOfFlagsOff(event:SpecialEvent, flagsToCheck:int) -> bool:
if !eventFlags.has(event):
eventFlags[event] = 0;
return (eventFlags[event] & flagsToCheck) != flagsToCheck;
return (eventFlags[event] & flagsToCheck) != flagsToCheck;
# Adds an event that is created by code into the scene tree and lets it be
# managed properly by the event system.
func addEvent(event:Event) -> void:
assert(
!event.is_inside_tree(),
"Event is already inside the scene tree, cannot add it again."
)
$StartedEvents.add_child(event)
event.inEventSystemTree = true
func removeEvent(event:Event) -> void:
assert(
event.inEventSystemTree,
"Event is not inside event system tree."
)
event.inEventSystemTree = false
$StartedEvents.remove_child(event)
event.queue_free()