public void ExecuteAbility()
 {
     DeactivatePanel();
     AbilityButton.DestroyAll();
     TargetButton.DestroyAll();
     Unit.ActiveUnit.ExecuteAbility();
 }
 public void ChangedAbility(object sender, AbilityButton.OnAbilityButtonClickArgs e)
 {
     if (e.SelectedAbility.TargetingType == Single)
     {
         if (!Unit.ActiveUnit.targetUnit)
         {
             Unit.ActiveUnit.targetUnit = Unit.ActiveUnit.EnemiesInLineOfSight()[0];
         }
         UpdateTargetPanel();
     }
     else
     {
         TargetButton.DestroyAll();
     }
 }
 public void UpdateTargetPanel()
 {
     TargetButton.DestroyAll();
     foreach (var unit in Unit.ActiveUnit.EnemiesInLineOfSight())
     {
         var btn          = Instantiate(targetButtonPrefab, transform);
         var targetButton = btn.GetComponent <TargetButton>();
         targetButton.targetUnit = unit;
         if (Unit.ActiveUnit.targetUnit == unit)
         {
             targetButton.TargetSelected();
         }
         if (Unit.ActiveUnit.selectedAbility == null)
         {
             Unit.ActiveUnit.selectedAbility = Unit.ActiveUnit.abilities[0];
         }
         var hitChance = CombatHitCalc.CalculateHitChance(Unit.ActiveUnit, unit, Unit.ActiveUnit.selectedAbility)["HIT"];
         targetButton.SetHitChance(hitChance * 100);
         targetButton.OnTargetButtonClick += ChangeTarget;
         targetButton.OnTargetButtonClick += _abilityPanel.ChangedTarget;
     }
 }