Exemple #1
0
        public bool ShootFeverTime()
        {
            if(aimReticleFever.GetBulletNumber(playerCharacters[playerCharacters.Count-1]) >= 1)
            {
                StopCoroutine();
                targetAim.CharacterAnimation.SetCharacterMotionSpeed(1f);
                PlayerCharacter c = playerCharacters[playerCharacters.Count - 1];
                for (int i = 0; i < playerCharacters.Count; i++)
                {
                    playerCharacters[i].CharacterAction.ShowFeverAim(false);
                    playerCharacters[i].CharacterAction.FeverAction(playerCharacters[i].CharacterEquipement.GetWeaponAttackData(aimReticleFever.GetBulletNumber(c)), 
                                                                    aimReticleFever.TargetAim, 
                                                                    EndShootFeverTime);
                }
                if (playerCharacters.Count >= 3)
                {
                    tripleFeverAnim.CreateAttack(targetAim.CharacterCenter);
                }
                else
                {
                    c.CharacterAction.RotateFever();
                }

                aimReticleFever.StopAim();
                aimReticleFever.HideAimReticle();
                return true;
            }
            return false;
        }
 // Appelé par les anims
 // Uniquement utilisable pour l'action principale
 public void ActionActive()
 {
     if (currentAttack != null)
     {
         currentAttackController = (Instantiate(currentAttack, this.transform.position, Quaternion.identity));
         currentAttackController.CreateAttack(this, target);
     }
 }
 private void Action(AttackController attack, Transform target)
 {
     characterAnimation.UserDisappear();
     attack.gameObject.SetActive(true);
     attack.CreateAttack(target);
     attack.SetDirection(direction.GetDirectionInt());
     currentAttack = attack;
     currentAttack.OnEndAction += ActionEnd;
 }
 // Crée une action dans le mode default et n'est pas considéré comme une current Attack
 public void FeverAction(AttackData data, Transform target, Action endCall)
 {
     characterAnimation.UserDisappear();
     attackControllerFever.gameObject.SetActive(true);
     attackControllerFever.CreateAttack(target);
     attackControllerFever.SetDirection(direction.GetDirectionInt());
     attackControllerFever.SetAttackData(data);
     if(feverSubscription == false)
     {
         feverSubscription = true;
         attackControllerFever.OnEndAction += endCall;
     }
     //
 }
 // Appelé par les anims
 // Créer une action secondaire.
 public void ActionActiveInstant(AttackController attack)
 {
     currentAttackController = (Instantiate(attack, this.transform.position, Quaternion.identity));
     currentAttackController.CreateAttack(this, target);
 }