Add event flags
This commit is contained in:
@@ -1,22 +1,33 @@
|
||||
class_name EventSystem extends Node
|
||||
|
||||
const EVENT_FLAG_COUNT = 32
|
||||
|
||||
enum SpecialEvent {
|
||||
INVALID = 0,
|
||||
TEST_QUEST = 1,
|
||||
};
|
||||
|
||||
var eventFlags:Dictionary[int, int] = {}
|
||||
signal eventFlagUpdated(event:SpecialEvent, flags:int)
|
||||
|
||||
func eventFlagOn(event:SpecialEvent, flagsToTurnOn:int) -> void:
|
||||
if !eventFlags.has(event):
|
||||
eventFlags[event] = 0;
|
||||
|
||||
eventFlags[event] |= flagsToTurnOn;
|
||||
eventFlagUpdated.emit(event, eventFlags[event]);
|
||||
|
||||
func eventFlagOff(event:SpecialEvent, flagsToTurnOff:int) -> void:
|
||||
if !eventFlags.has(event):
|
||||
eventFlags[event] = 0;
|
||||
eventFlags[event] &= ~flagsToTurnOff;
|
||||
eventFlagUpdated.emit(event, eventFlags[event]);
|
||||
|
||||
func eventFlagSetTo(event:SpecialEvent, flagsToSet:int) -> void:
|
||||
if !eventFlags.has(event):
|
||||
eventFlags[event] = 0;
|
||||
eventFlags[event] = flagsToSet;
|
||||
eventFlagUpdated.emit(event, eventFlags[event]);
|
||||
|
||||
func eventAreFlagsOn(event:SpecialEvent, flagsToCheck:int) -> bool:
|
||||
if !eventFlags.has(event):
|
||||
|
Reference in New Issue
Block a user