class_name Cutscene extends Node var items:Array[CutsceneItem] = [] var itemIndex:int = 0 func _enter_tree() -> void: # Get children var children = get_children() for child in children: if !(child is CutsceneItem): continue items.append(child) pass func _exit_tree() -> void: items.clear() pass func start() -> void: itemIndex = -1 if items.size() == 0: return nextItem() func nextItem() -> void: itemIndex += 1 if itemIndex >= items.size(): return var item = items[itemIndex] item.cutscene = self item.start()