Пример #1
0
        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();
 }
Пример #3
0
 public void fireAttackScreenSelectedEvent(City city)
 {
     Utilities.instance.Debug("Attack action selected");
     OnAttackSelected?.Invoke(city);
 }