class_name Cutscene const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd"); var queue:Array[CutsceneEvent] = []; var cutsceneSystem = null; func setupCutscene() -> void: print_debug("Cutscene setup has not been overriden"); pass func update(delta:float) -> void: if queue.size() == 0: return var item = queue[0] if !item.started: item.start() item.started = true item.update(delta) if item.isDone(): item.end() queue.erase(item) pass func add(items:Array[CutsceneEvent]) -> void: for item in items: item.cutscene = self queue.append(item) func clear() -> void: if queue.size() == 0: return var item = queue[0] if item.started: item.end() item.started = false queue.clear()