extends Node func GetAllTreasureChests() -> Array[BaseChest]: var nodes := get_tree().get_nodes_in_group("Treasure Chest Group") var arr: Array[BaseChest] = [] for node in nodes: if node is BaseChest: arr.append(node as BaseChest) return arr func GetAllInteractiveEntrances() -> Array[InteractiveEntrance]: var nodes := get_tree().get_nodes_in_group("Interactive Loading Zone Group") var arr: Array[InteractiveEntrance] = [] for node in nodes: if node is InteractiveEntrance: arr.append(node) return arr func GetAllLoadingZoneTransporters() -> Array[EntranceTransporter]: var nodes := get_tree().get_nodes_in_group("Loading Zone Transporter Group") var arr: Array[EntranceTransporter] = [] for node in nodes: if node is EntranceTransporter: arr.append(node) return arr func GetAllDialogueTriggers() -> Array[DialogueTrigger]: var nodes := get_tree().get_nodes_in_group("Dialog Trigger Group") var arr: Array[DialogueTrigger] = [] for node in nodes: if node is DialogueTrigger: arr.append(node) return arr func GetPlayerBody() -> CharacterBody2D: var nodes := get_tree().get_nodes_in_group("Player Group") if nodes.is_empty(): return null return nodes[0] as CharacterBody2D