Cleaned and improved some event stuff
This commit is contained in:
@@ -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()
|
Reference in New Issue
Block a user