class_name Battle const BattleFighter = preload("res://scripts/Battle/BattleFighter.gd"); enum FighterPosition { LEFT_TOP = 0, LEFT_CENTER = 1, LEFT_BOTTOM = 2, CENTER_TOP = 3, CENTER_CENTER = 4, CENTER_BOTTOM = 5, RIGHT_TOP = 6, RIGHT_CENTER = 7, RIGHT_BOTTOM = 8, ENEMY_DEFAULT = LEFT_CENTER, PLAYER_DEFAULT = RIGHT_CENTER, }; var fighters:Array = []; func addFighter(fighter:BattleFighter, position:FighterPosition): if fighters.has(position): push_error("Fighter already exists at position"); return fighters[position] = fighter; func moveFighter(fighter:BattleFighter, position:FighterPosition): if fighters.has(position): push_error("Fighter already exists at position"); return if not fighters.has(fighter): push_error("Fighter does not exist"); return removeFighter(fighter); addFighter(fighter, position); func getFightersOfTeam(team:BattleFighter.BattleFighterTeam): var result = []; for fighter in fighters: if fighter.team != team: continue result.append(fighter); return result; func removeFighter(fighter:BattleFighter): fighters.erase(fighter);