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):
|
||||
|
@@ -3,11 +3,13 @@ class_name UISystem extends Control
|
||||
var QUEST_MENU:QuestMenu
|
||||
var DEBUG_MENU:DebugMenu
|
||||
var INVENTORY_MENU:FullInventoryMenu
|
||||
var EVENT_FLAG_MENU:EventFlagMenu
|
||||
|
||||
func _ready() -> void:
|
||||
QUEST_MENU = $QuestMenu
|
||||
DEBUG_MENU = $DebugMenu
|
||||
INVENTORY_MENU = $FullInventory
|
||||
EVENT_FLAG_MENU = $EventFlagMenu
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
# This needs to always be at the end of the parent node's tree
|
||||
|
Reference in New Issue
Block a user