StoryE3P7.cs 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  1. using System;
  2. using System.Collections;
  3. using DG.Tweening;
  4. using ExtensionMethods;
  5. using I2.Loc;
  6. using UnityEngine;
  7. [RequireComponent(typeof(BoxCollider2D))]
  8. public class StoryE3P7 : BaseBehaviour
  9. {
  10. private bool _hasEntered
  11. {
  12. get
  13. {
  14. return RoundStorage.Get("E3P7_hasEntered", false);
  15. }
  16. set
  17. {
  18. RoundStorage.Set("E3P7_hasEntered", value);
  19. }
  20. }
  21. private bool e3Finish
  22. {
  23. set
  24. {
  25. SaveStorage.Set("E3_Finish", value);
  26. }
  27. }
  28. private void Start()
  29. {
  30. base.StartCoroutine(this.Sequcence0());
  31. }
  32. private void OnDestroy()
  33. {
  34. CameraFilterUtils.Remove<CameraFilterPack_Retro_FBLoading>(null);
  35. CameraFilterUtils.Remove<CameraFilterPack_VHS_Tracking>(null);
  36. }
  37. private IEnumerator Sequcence0()
  38. {
  39. this._gate1.openType = SceneGate.OpenType.None;
  40. this._battleZoneGate.Appear();
  41. if (this._hasEntered)
  42. {
  43. yield return null;
  44. yield return new WaitForSeconds(20f);
  45. }
  46. else
  47. {
  48. this._hasEntered = true;
  49. R.Audio.PlayBGM(349, true);
  50. R.Ui.HideUI(false);
  51. yield return R.Audio.PlayVoiceOver("e3t7", null, false);
  52. CameraFilterPack_VHS_Tracking vhsTracking = CameraFilterUtils.Create<CameraFilterPack_VHS_Tracking>(null);
  53. yield return R.Audio.PlayVoiceOver("e3t8", null, false);
  54. this._text.text = ScriptLocalization.Story.e3s1;
  55. this._text.color = Color.white;
  56. this.TextShine(true);
  57. yield return R.Audio.PlayVoiceOver("e3t9", null, false);
  58. }
  59. yield return R.Audio.PlayVoiceOver("e3t10", null, false);
  60. this.TextShine(false);
  61. this._text.text = ScriptLocalization.Story.e3s2;
  62. this._text.color = new Color32(126, 16, 34, 1);
  63. yield return this.FadeIn();
  64. yield return R.Audio.PlayVoiceOver("e3t11", null, false);
  65. CameraFilterPack_Retro_FBLoading fbLoading = CameraFilterUtils.Create<CameraFilterPack_Retro_FBLoading>(null);
  66. yield return R.Audio.PlayVoiceOver("e3t12", null, false);
  67. WorldTime.Pause();
  68. InputSetting.Stop(false);
  69. R.Audio.StopBGM(false);
  70. yield return WorldTime.WaitForSecondsIgnoreTimeScale(5f);
  71. WorldTime.Resume();
  72. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.green));
  73. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e3s3.Split(new char[]
  74. {
  75. '\n'
  76. })[0], 0.1f);
  77. yield return R.Ui.Terminal.PrintShellPrompt();
  78. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e3s3.Split(new char[]
  79. {
  80. '\n'
  81. })[1], 0.1f);
  82. yield return new WaitForSeconds(1f);
  83. yield return R.Ui.Terminal.Clear();
  84. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e3s4, 0.1f);
  85. yield return new WaitForSeconds(3f);
  86. yield return R.Ui.Terminal.ShowProgressBar(0f);
  87. yield return R.Ui.Terminal.SetProgressBarValueWithAnim(1f, 5f);
  88. yield return R.Ui.Terminal.PrintShellPrompt();
  89. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e3s5, 0.1f);
  90. yield return new WaitForSeconds(1f);
  91. yield return R.Ui.Terminal.CloseWithAnim();
  92. R.Ui.BlackScene.Alpha = 1f;
  93. yield return WorldTime.WaitForSecondsIgnoreTimeScale(3f);
  94. R.Ui.BlackScene.Alpha = 0f;
  95. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.green));
  96. yield return R.Ui.Terminal.PrintShellPrompt();
  97. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e3s6, 0.1f);
  98. yield return new WaitForSeconds(1f);
  99. yield return R.Ui.Terminal.CloseWithAnim();
  100. R.Ui.BlackScene.Alpha = 1f;
  101. yield return new WaitForSeconds(3f);
  102. yield return R.Audio.PlayVoiceOver("e3t13", null, false);
  103. this.e3Finish = true;
  104. R.Trophy.AwardTrophy(3);
  105. yield return SaveManager.ModifySaveData(delegate(GameData gameData)
  106. {
  107. if (gameData.ThisSaveValidStorage.ContainsKey("E3_Finish"))
  108. {
  109. gameData.ThisSaveValidStorage["E3_Finish"] = 1;
  110. }
  111. else
  112. {
  113. gameData.ThisSaveValidStorage.Add("E3_Finish", 1);
  114. }
  115. });
  116. R.Ui.ShowUI(false);
  117. CameraFilterUtils.Remove<CameraFilterPack_Retro_FBLoading>(null);
  118. CameraFilterUtils.Remove<CameraFilterPack_VHS_Tracking>(null);
  119. InputSetting.Resume(false);
  120. SaveStorage.Set(R.Ui.LevelSelect.LevelBeginningSceneNames[0] + "HasConquer", true);
  121. R.Ui.LevelSelect.OpenWithAnim(true, true);
  122. yield break;
  123. }
  124. private void TextShine(bool start)
  125. {
  126. this._startShine = start;
  127. if (start)
  128. {
  129. base.StartCoroutine(this.StartShineCoroutine());
  130. }
  131. }
  132. private IEnumerator StartShineCoroutine()
  133. {
  134. while (this._startShine)
  135. {
  136. yield return DOTween.To(delegate(float a)
  137. {
  138. this._text.color = this._text.color.SetAlpha(a);
  139. }, 1f, 0f, 1f).WaitForCompletion();
  140. R.Audio.PlayEffect(383, new Vector3?(this._text.transform.position));
  141. }
  142. yield break;
  143. }
  144. private YieldInstruction FadeIn()
  145. {
  146. return DOTween.To(delegate(float a)
  147. {
  148. this._text.color = this._text.color.SetAlpha(a);
  149. }, 0f, 1f, 5f).WaitForCompletion();
  150. }
  151. [SerializeField]
  152. private SceneGate _gate1;
  153. [SerializeField]
  154. private BattleZoneGate _battleZoneGate;
  155. [SerializeField]
  156. private TextMesh _text;
  157. private bool _startShine;
  158. }