Files
Archipelago-Game/Global Managers/group_utils.gd
2026-03-17 13:45:35 -06:00

54 lines
1.2 KiB
GDScript

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 GetAllInteractiveLoadingZones() -> Array[InteractiveLoadingZone]:
var nodes := get_tree().get_nodes_in_group("Interactive Loading Zone Group")
var arr: Array[InteractiveLoadingZone] = []
for node in nodes:
if node is InteractiveLoadingZone:
arr.append(node)
return arr
func GetAllLoadingZoneTransporters() -> Array[LoadingZoneTransporter]:
var nodes := get_tree().get_nodes_in_group("Loading Zone Transporter Group")
var arr: Array[LoadingZoneTransporter] = []
for node in nodes:
if node is LoadingZoneTransporter:
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 GetPlayer() -> PlayerCharacter:
var nodes := get_tree().get_nodes_in_group("Player Group")
if nodes.is_empty():
return null
return nodes[0] as PlayerCharacter