private void SelectAttack() { if (currentBehavior != null) enemy.CharacterStatController.RemoveStat(currentBehavior.GetWeaponData().BaseStat, StatModifierType.Flat); EnemyBehavior[] behaviors = enemyBehaviors[phase].enemyBehaviors; int indexAttack = Random.Range(0, behaviors.Length); for (int i = 0; i < behaviors.Length; i++) { target = behaviors[indexAttack].SelectTarget(enemy); if (target != null) { // Pattern sélectionné currentBehavior = behaviors[indexAttack]; enemy.CharacterStatController.AddStat(currentBehavior.GetWeaponData().BaseStat, StatModifierType.Flat); if (OnAttackSelected != null) OnAttackSelected.Invoke(target, currentBehavior.CanInterruptPlayer()); return; } indexAttack += 1; if (indexAttack >= behaviors.Length) indexAttack = 0; } // Si on en est là c'est que y'a personne à dérailler // Executer le pattern par défaut }
public void SelectAttackSkill() { if (dropdownAttackSkill.value != 0) { OnAttackSelected?.Invoke(attackSkills[dropdownAttackSkill.value]); } // HideDisplay(); }
public void fireAttackScreenSelectedEvent(City city) { Utilities.instance.Debug("Attack action selected"); OnAttackSelected?.Invoke(city); }