StoryE10P4.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. using System;
  2. using System.Collections;
  3. using DG.Tweening;
  4. using GameWorld;
  5. using I2.Loc;
  6. using UnityEngine;
  7. public class StoryE10P4 : BaseBehaviour
  8. {
  9. private bool e10Finish
  10. {
  11. set
  12. {
  13. SaveStorage.Set("E10_Finish", value);
  14. }
  15. }
  16. private void OnEnable()
  17. {
  18. EventManager.RegisterEvent<BattleEventArgs>("Battle", new EventManager.FBEventHandler<BattleEventArgs>(this.BattleOver), EventManager.ListenerQueue.Game);
  19. }
  20. private void OnDisable()
  21. {
  22. EventManager.UnregisterEvent<BattleEventArgs>("Battle", new EventManager.FBEventHandler<BattleEventArgs>(this.BattleOver), EventManager.ListenerQueue.Game);
  23. }
  24. private void Update()
  25. {
  26. if (this.blackHole.gameObject.activeSelf)
  27. {
  28. Vector3 position = this.blackHole.transform.position;
  29. position.x = R.Camera.Transform.position.x;
  30. position.y = R.Camera.Transform.position.y;
  31. this.blackHole.transform.position = position;
  32. }
  33. }
  34. private bool BattleOver(string eventName, object sender, BattleEventArgs args)
  35. {
  36. if (args.Status == BattleEventArgs.BattleStatus.End)
  37. {
  38. base.StartCoroutine(this.MainCoroutine());
  39. }
  40. return true;
  41. }
  42. private IEnumerator MainCoroutine()
  43. {
  44. InputSetting.Stop(false);
  45. yield return new WaitForSeconds(2f);
  46. yield return R.Audio.PlayVoiceOver("e10t26", null, false);
  47. R.Camera.Controller.CameraZoom(R.Player.Transform.position + new Vector3(0f, 1f, 0f), 9f, 5f);
  48. YieldInstruction t27 = R.Audio.PlayVoiceOver("e10t27", null, false);
  49. yield return new WaitForSeconds(9f);
  50. yield return t27;
  51. R.Camera.Controller.ZoomFinished();
  52. yield return new WaitForSeconds(1f);
  53. foreach (Transform transform in this._night.GetComponentsInChildren<Transform>())
  54. {
  55. this.Fade(transform, 0f, 5f);
  56. }
  57. foreach (Transform transform2 in this._day.GetComponentsInChildren<Transform>())
  58. {
  59. this.Fade(transform2, 1f, 5f);
  60. }
  61. R.Camera.Controller.CameraZoom(base.transform.position + new Vector3(0f, 18f, 0f), 10f, -28f);
  62. YieldInstruction t28 = R.Audio.PlayVoiceOver("e10t28", null, false);
  63. this.blackHole.gameObject.SetActive(true);
  64. yield return new WaitForSeconds(3f);
  65. this.blackHole.StartDistort(8f);
  66. this.blackHole.StartAbsorb(10f);
  67. yield return new WaitForSeconds(7f);
  68. yield return t28;
  69. CameraFilterUtils.Create<CameraFilterPack_Real_VHS>(null);
  70. R.Audio.PlayEffect(369, new Vector3?(R.Player.Transform.position));
  71. R.Audio.PlayEffect(356, new Vector3?(R.Player.Transform.position));
  72. yield return new WaitForSeconds(0.5f);
  73. CameraFilterUtils.Remove<CameraFilterPack_Real_VHS>(null);
  74. R.Audio.StopBGM(true);
  75. yield return R.Ui.EndTitle.Show(false);
  76. R.Ui.BlackScene.Alpha = 1f;
  77. R.Audio.PlayEffect(376, null);
  78. yield return new WaitForSeconds(0.85f);
  79. R.Audio.PlayEffect(375, null);
  80. yield return new WaitForSeconds(1.6f);
  81. R.Audio.PlayEffect(385, null);
  82. yield return new WaitForSeconds(1.2f);
  83. R.Audio.PlayEffect(386, null);
  84. yield return new WaitForSeconds(2.8f);
  85. R.Audio.PlayEffect(384, null);
  86. yield return new WaitForSeconds(2.4f);
  87. R.Ui.BlackScene.Alpha = 0f;
  88. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.yellow));
  89. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e10s14, 0.1f);
  90. yield return new WaitForSeconds(3f);
  91. yield return R.Ui.Terminal.CloseWithAnim();
  92. R.Ui.BlackScene.Alpha = 1f;
  93. this.e10Finish = true;
  94. InputSetting.Resume(false);
  95. R.Ui.BlackScene.Alpha = 0f;
  96. R.Trophy.AwardTrophy(12);
  97. yield return SaveManager.ModifySaveData(delegate(GameData gameData)
  98. {
  99. if (gameData.ThisSaveValidStorage.ContainsKey("E10_Finish"))
  100. {
  101. gameData.ThisSaveValidStorage["E10_Finish"] = 1;
  102. }
  103. else
  104. {
  105. gameData.ThisSaveValidStorage.Add("E10_Finish", 1);
  106. }
  107. });
  108. yield return R.Ui.LevelSelect.OpenWithAnim(true, true);
  109. yield break;
  110. }
  111. private void Fade(Transform transform, float endValue, float duration)
  112. {
  113. SpriteRenderer component = transform.GetComponent<SpriteRenderer>();
  114. if (component != null)
  115. {
  116. component.DOFade(endValue, duration);
  117. }
  118. }
  119. [SerializeField]
  120. private Transform _day;
  121. [SerializeField]
  122. private Transform _night;
  123. [SerializeField]
  124. private BlackHole blackHole;
  125. }