public void Activate() { AttackPackage attack = AttackPackage.CreateNewPackage(); weapon.Activate(attack); }
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(); } } }