extends Node2D class_name Interaction @export var disableAddingActions:bool = false var IDs = [] var actionFunctions = [] func add_action(interactionName:String, action_function, availabilityCheck = null): if disableAddingActions: return var actionMenu = get_parent().get_node("Interactable/ActionMenu") var newID = actionMenu.add_action(interactionName) actionMenu.action_selected.connect(action_chosen) IDs.append(newID) actionFunctions.append(action_function) if availabilityCheck != null: actionMenu.add_availability_check(newID, availabilityCheck) func action_chosen(ID:int): for i in range(0, IDs.size()): if IDs[i] == ID: var cow = get_tree().get_root().get_node("MainGame/Cow") cow.interact(self, actionFunctions[i], $InteractionArea.global_position)