private void FrameEventHandler(FrameEventEventArg eventArgs)
        {
            if (eventArgs._name == AnimEventNames.AttackBegin)
            {
                if (_fSM.GetCurrentAnimation().name == PlayerFSMData.Anim.ATK_Melee_Ground_1)
                {
                    _particles["ATK_Melee_Ground_1"].Play();
                }
                if (_fSM.GetCurrentAnimation().name == PlayerFSMData.Anim.ATK_Melee_Ground_2)
                {
                    _particles["ATK_Melee_Ground_2"].Play();
                }
                if (_fSM.GetCurrentAnimation().name == PlayerFSMData.Anim.ATK_Melee_Ground_3)
                {
                    _particles["ATK_Melee_Ground_1"].Play();
                }

                if (_fSM.GetCurrentAnimation().name == PlayerFSMData.Anim.ATK_Charge_Ground_ATK)
                {
                    _particles["ATK_Charge_Ground_Charging"].Stop();
                    _particles["ATK_Charge_Ground_ATK"].Play();
                }
            }

            if (eventArgs._name == AnimEventNames.Regenerate)
            {
                _particles["RegenerateCompleted"].Play();
                _particles["Regenerate"].Stop();
            }
        }
Beispiel #2
0
 private void HandleAnimationFrameEvent(FrameEventEventArg eventArgs)
 {
     if (eventArgs._name == AnimEventNames.AttackBegin)
     {
         if (eventArgs._animation.name != PlayerFSMData.Anim.ATK_Charge_Ground_ATK)
         {
             _weaponSystem.MeleeAttack();
         }
     }
     else if (eventArgs._name == AnimEventNames.AttackEnd)
     {
         _weaponSystem.MeleeAttackEnd();
         _animator.SetBool(PlayerFSMData.Stat.Charge, false);
     }
     else if (eventArgs._name == AnimEventNames.StepDistance)
     {
         _mover.SetStepDistance(eventArgs._floatData);
     }
     else if (eventArgs._name == AnimEventNames.StepSpeed)
     {
         _mover.SetStepSpeed(eventArgs._floatData);
     }
     else if (eventArgs._name == AnimEventNames.Regenerate)
     {
         _state._hitPoints += _healingAmount;
         _state._hitPoints.Clamp();
     }
 }
Beispiel #3
0
 private void HandleFrameEvent(FrameEventEventArg eventArg)
 {
     if (eventArg._name == AnimEventNames.AttackBegin)
     {
         if (eventArg._animation.name == BossFSMData.Anim.Slash1)
         {
             bossAudioSource.clip   = _audios["Combo1"];
             bossAudioSource.volume = _audiosVolume["Combo1"];
             bossAudioSource.pitch  = _pitch["Combo1"];
             bossAudioSource.Play();
         }
     }
 }
        private void HandleFrameEvent(FrameEventEventArg eventArgs)
        {
            if (eventArgs._name == AnimEventNames.AttackBegin)
            {
                var attack = AttackPackage.CreateNewPackage();
                attack._hitPointDamage.Base  = _state._hitPointDamage;
                attack._enduranceDamage.Base = _state._enduranceDamage;

                _weapon.Activate(attack, _currentMove);

                if (eventArgs._animation.name == BossFSMData.Anim.Slash1 ||
                    eventArgs._animation.name == BossFSMData.Anim.Slash2)
                {
                    foreach (var collider in _slashAttackBoxes)
                    {
                        collider.enabled = true;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("EnemyDash");
                    OnBeginDashingInvincible?.Invoke();
                }

                if (eventArgs._animation.name == BossFSMData.Anim.Combo2_3)
                {
                    foreach (var collider in _combo2AttackBoxes)
                    {
                        collider.enabled = true;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("EnemyDash");
                    OnBeginDashingInvincible?.Invoke();
                }

                if (eventArgs._animation.name == BossFSMData.Anim.Combo3_2)
                {
                    foreach (var collider in _thrustAttackBoxes)
                    {
                        collider.enabled = true;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("EnemyDash");
                    OnBeginDashingInvincible?.Invoke();
                }
            }
            else if (eventArgs._name == AnimEventNames.AttackEnd)
            {
                _weapon.Deactivate();

                if (eventArgs._animation.name == BossFSMData.Anim.Slash1 ||
                    eventArgs._animation.name == BossFSMData.Anim.Slash2)
                {
                    foreach (var collider in _slashAttackBoxes)
                    {
                        collider.enabled = false;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("RejectCollider");
                    OnStopDashingInvincible?.Invoke();
                }

                if (eventArgs._animation.name == BossFSMData.Anim.Combo2_3)
                {
                    foreach (var collider in _combo2AttackBoxes)
                    {
                        collider.enabled = false;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("RejectCollider");
                    OnStopDashingInvincible?.Invoke();
                }

                if (eventArgs._animation.name == BossFSMData.Anim.Combo3_2)
                {
                    foreach (var collider in _thrustAttackBoxes)
                    {
                        collider.enabled = false;
                    }
                    _collider.gameObject.layer = LayerMask.NameToLayer("RejectCollider");
                    OnStopDashingInvincible?.Invoke();
                }
            }
        }