StoryE9P6.cs 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. using System;
  2. using System.Collections;
  3. using DG.Tweening;
  4. using GameWorld;
  5. using UnityEngine;
  6. public class StoryE9P6 : BaseBehaviour
  7. {
  8. private bool IsE9BossDie
  9. {
  10. get
  11. {
  12. return RoundStorage.Get("E9_BossDie", false);
  13. }
  14. set
  15. {
  16. RoundStorage.Set("E9_BossDie", value);
  17. }
  18. }
  19. private void OnEnable()
  20. {
  21. EventManager.RegisterEvent<BattleEventArgs>("Battle", new EventManager.FBEventHandler<BattleEventArgs>(this.OnBattle), EventManager.ListenerQueue.Game);
  22. }
  23. private void OnDisable()
  24. {
  25. EventManager.UnregisterEvent<BattleEventArgs>("Battle", new EventManager.FBEventHandler<BattleEventArgs>(this.OnBattle), EventManager.ListenerQueue.Game);
  26. }
  27. private bool OnBattle(string eventDefine, object sender, BattleEventArgs args)
  28. {
  29. if (args.Status == BattleEventArgs.BattleStatus.End)
  30. {
  31. this.IsE9BossDie = true;
  32. base.StartCoroutine(this.Sequence0());
  33. }
  34. return true;
  35. }
  36. private IEnumerator Sequence0()
  37. {
  38. SceneGate.OpenType originOpenType = this._gate.openType;
  39. this._gate.openType = SceneGate.OpenType.None;
  40. this._battleZoneGate.Appear();
  41. R.Mode.EnterMode(Mode.AllMode.Story);
  42. R.Audio.PlayVoiceOver("e9t11", null, false);
  43. R.Camera.Controller.IsFollowPivot = false;
  44. R.Camera.Controller.CameraMoveTo(this._animator.transform.position, 2f, Ease.Linear);
  45. yield return new WaitForSeconds(1.5f);
  46. this._animator.Play("door");
  47. yield return new WaitForSeconds(4f);
  48. CameraFilterUtils.Create<CameraFilterPack_TV_Vcr>(null);
  49. this._arrow.SetActive(true);
  50. yield return new WaitForSeconds(2f);
  51. CameraFilterUtils.Remove<CameraFilterPack_TV_Vcr>(null);
  52. R.Camera.Controller.CameraMoveTo(R.Player.Transform.position, 2f, Ease.Linear);
  53. yield return new WaitForSeconds(2.1f);
  54. R.Camera.Controller.IsFollowPivot = true;
  55. this._gate.openType = originOpenType;
  56. this._battleZoneGate.DisAppear();
  57. R.Mode.ExitMode(Mode.AllMode.Story);
  58. yield break;
  59. }
  60. [SerializeField]
  61. private SceneGate _gate;
  62. [SerializeField]
  63. private Animator _animator;
  64. [SerializeField]
  65. private GameObject _arrow;
  66. [SerializeField]
  67. private BattleZoneGate _battleZoneGate;
  68. }