private void ToPlayerAbilitySelectedState(Ability ability) { State = BattleGameStateType.AbilitySelected; SelectedAbility = ability; AbilitySelectedName.text = ability.Name.ToUpper(); AbilitySelectedRoot.gameObject.SetActive(true); foreach (var actor in Actors) { if (SelectedAbility.IsValidTarget(actor)) { actor.SetValidTargetState(EnemyParty.Contains(actor)); } else if (ability.User == actor) { actor.SetSelectedState(); } else { actor.SetNormalState(); } } }
private void ActorSelected(Actor selection) { if (State == BattleGameStateType.PartyIdle) { if (PlayerParty.Contains(selection)) { SetSelection(selection); } } else if (State == BattleGameStateType.AbilitySelected) { if (SelectedAbility.IsValidTarget(selection)) { ExecuteAbility(SelectedAbility, selection); } else if (PlayerParty.Contains(selection)) { ToIdleState(); SetSelection(selection); } } }