BeelzebubHurt.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using UnityEngine;
  3. public class BeelzebubHurt : EnemyBaseHurt
  4. {
  5. protected override void Init()
  6. {
  7. this.defaultAnimName = "Hit";
  8. this.defaultAirAnimName = "Hit";
  9. this.hurtData = SingletonMono<EnemyDataPreload>.Instance.hurt[EnemyType.暴食];
  10. }
  11. protected override void PhysicAndEffect(Vector2 speed, Vector2 airSpeed, string normalAtkType, string airAtkType)
  12. {
  13. if (this.action.stateMachine.currentState == "HitQTE")
  14. {
  15. return;
  16. }
  17. base.PhysicAndEffect(speed, airSpeed, normalAtkType, airAtkType);
  18. }
  19. protected override void PlayHurtAudio()
  20. {
  21. base.PlayHurtAudio();
  22. if (base.PlaySpHurtAudio())
  23. {
  24. R.Audio.PlayEffect(397, new Vector3?(base.transform.position));
  25. }
  26. }
  27. protected override void FlashAttackHurt()
  28. {
  29. this.ExecuteDieEffect();
  30. R.Effect.Generate(214, null, default(Vector3), default(Vector3), default(Vector3), true);
  31. SingletonMono<WorldTime>.Instance.TimeSlowByFrameOn60Fps(30, 0.5f);
  32. R.Camera.Controller.CameraShake(0.5f, 0.2f, CameraController.ShakeTypeEnum.Rect, false);
  33. R.Camera.Controller.OpenMotionBlur(0.0833333358f, 1f, base.transform.position);
  34. this.SetHitSpeed(Vector2.zero);
  35. base.GenerateCritHurtNum(base.flashAttackDamage);
  36. this.action.AnimChangeState(BeelzebubAction.StateEnum.Hit, 0.5f);
  37. base.FlashAttackHurt();
  38. }
  39. public override void QTEHurt()
  40. {
  41. base.QTEHurt();
  42. R.Player.Action.QTEHPRecover(false);
  43. base.QTEZPositionRecover();
  44. base.QTEHpMinus();
  45. }
  46. public override void EnemyDie()
  47. {
  48. }
  49. protected override void ExecuteDie()
  50. {
  51. if (this.deadFlag)
  52. {
  53. return;
  54. }
  55. base.ExecuteDie();
  56. if (this.eAttr.rankType == EnemyAttribute.RankType.BOSS)
  57. {
  58. R.Trophy.AwardTrophy(25);
  59. R.Audio.PlayEffect(412, new Vector3?(base.transform.position));
  60. for (int i = 0; i < R.Enemy.EnemyAttributes.Count; i++)
  61. {
  62. R.Enemy.EnemyAttributes[i].GetComponent<EnemyBaseAction>().KillSelf();
  63. }
  64. }
  65. R.Player.Action.QTEHPRecover(this.eAttr.rankType == EnemyAttribute.RankType.BOSS);
  66. this.action.hurtBox.gameObject.SetActive(false);
  67. this.eAttr.inWeakState = false;
  68. this.SetHitSpeed(Vector2.zero);
  69. }
  70. }