extends Node enum Role { TANK, DAMAGE, HEALER } var current_role: int = Role.DAMAGE @export var tank_set: AbilitySet @export var damage_set: AbilitySet @export var healer_set: AbilitySet @onready var player: CharacterBody3D = get_parent() func _unhandled_input(event: InputEvent) -> void: if event.is_action_pressed("class_tank"): set_role(Role.TANK) elif event.is_action_pressed("class_damage"): set_role(Role.DAMAGE) elif event.is_action_pressed("class_healer"): set_role(Role.HEALER) func set_role(new_role: int) -> void: current_role = new_role EventBus.role_changed.emit(player, current_role) func get_role_icon() -> String: match current_role: Role.TANK: return "T" Role.DAMAGE: return "D" Role.HEALER: return "H" return "" func get_ability_set() -> AbilitySet: match current_role: Role.TANK: return tank_set Role.DAMAGE: return damage_set Role.HEALER: return healer_set return damage_set