//---------------------------------------------------------------------------------------------- public static void IssueSelectedAbilityOrder(Tile targetTile) { SelectedAbility.Execute(SelectedUnit, targetTile); SelectedUnit.HasActed = true; // cleanup after the ability SelectedAbility = null; GameBoard.HideHighlights(); UiController.HideAbilityFrameHighlights(); }
//---------------------------------------------------------------------------------------------- public static void SelectAbilityForSelectedUnit(int abilityIndex) { SelectedAbility = SelectedUnit.UnitData.Abilities[abilityIndex]; GameBoard.HighlightAbilityRange( SelectedUnit.UnitData.Abilities[ canvasReferences.abilityFrames[abilityIndex].AbilityIndex ], SelectedUnit ); UiController.ShowAbilityFrameHighlight(abilityIndex); }
//---------------------------------------------------------------------------------------------- public static void HighlightAbilityRange(Ability_Base ability, Unit caster) { HideHighlights(); List <Tile> tiles = Pathfinder.GetTilesWithinRangeOfUnit( unit: caster, range: ability.Range, allowStomps: true ); foreach (Tile tile in tiles) { tile.SetHighlightActive(true); } }