40 lines
673 B
GDScript
40 lines
673 B
GDScript
class_name Cutscene
|
|
const CutsceneEvent = preload("res://scripts/Cutscene/CutsceneEvent.gd");
|
|
|
|
var queue:Array[CutsceneEvent] = [];
|
|
|
|
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:
|
|
queue.append_array(items)
|
|
|
|
func clear() -> void:
|
|
if queue.size() == 0:
|
|
return
|
|
|
|
var item = queue[0]
|
|
if item.started:
|
|
item.end()
|
|
item.started = false
|
|
|
|
queue.clear()
|