StoryE12.cs 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218
  1. using System;
  2. using System.Collections;
  3. using Core;
  4. using DG.Tweening;
  5. using I2.Loc;
  6. using UnityEngine;
  7. public class StoryE12 : BaseBehaviour
  8. {
  9. private bool E12
  10. {
  11. get
  12. {
  13. return RoundStorage.Get("E12", false);
  14. }
  15. set
  16. {
  17. RoundStorage.Set("E12", value);
  18. }
  19. }
  20. private void Start()
  21. {
  22. if (!this.E12)
  23. {
  24. base.StartCoroutine(this.MainCoroutine());
  25. }
  26. }
  27. private void OnDestroy()
  28. {
  29. this.E12 = true;
  30. UnityEngine.Object.Destroy(this._videoRenderer);
  31. SingletonMono<MobileInputPlayer>.Instance.HideL2R2(true);
  32. if (this._playVideo != null)
  33. {
  34. this._playVideo.Dispose();
  35. }
  36. }
  37. private IEnumerator MainCoroutine()
  38. {
  39. R.Audio.PlayBGM(354, true);
  40. this._phone.Name = ScriptLocalization.Story.e12s1;
  41. this._phone.InCall();
  42. SingletonMono<MobileInputPlayer>.Instance.ShowL2R2(ScriptLocalization.ui_phone.accept, ScriptLocalization.ui_phone.decline);
  43. while (!Core.Input.Game.R2.OnPressed)
  44. {
  45. if (Core.Input.Game.L2.OnPressed)
  46. {
  47. SingletonMono<MobileInputPlayer>.Instance.HideL2R2(true);
  48. base.StartCoroutine(this.AnswerThePhone());
  49. yield break;
  50. }
  51. yield return null;
  52. }
  53. SingletonMono<MobileInputPlayer>.Instance.HideL2R2(true);
  54. this.NotAnswerThePhone();
  55. yield break;
  56. }
  57. private void NotAnswerThePhone()
  58. {
  59. R.Audio.StopBGM(false);
  60. R.Audio.PlayEffect(367, new Vector3?(R.Player.Transform.position));
  61. this._phone.CallEnd(false);
  62. SingletonMono<MobileInputPlayer>.Instance.MainControllerVisiable = true;
  63. this.E12 = true;
  64. }
  65. private IEnumerator AnswerThePhone()
  66. {
  67. R.Audio.StopBGM(false);
  68. R.Audio.PlayEffect(367, new Vector3?(R.Player.Transform.position));
  69. SingletonMono<MobileInputPlayer>.Instance.MainControllerVisiable = false;
  70. this._phone.Recive(false);
  71. this._phone.Name = ScriptLocalization.Story.e12s2;
  72. this.gate1.openType = SceneGate.OpenType.None;
  73. this.gate2.openType = SceneGate.OpenType.None;
  74. yield return R.Audio.PlayVoiceOver("e12t1", null, false);
  75. this._phone.CallEnd(false);
  76. SingletonMono<MobileInputPlayer>.Instance.MainControllerVisiable = true;
  77. AudioSource audioEffect = R.Audio.PlayEffect(366, new Vector3?(R.Player.Transform.position));
  78. yield return new WaitForSeconds(audioEffect.clip.length);
  79. R.Audio.PlayEffect(355, new Vector3?(R.Player.Transform.position));
  80. CameraFilterUtils.Create<CameraFilterPack_TV_PlanetMars>(null);
  81. this.text.gameObject.SetActive(true);
  82. this.text.text = ScriptLocalization.Story.e12s3;
  83. DOTween.To(() => this.text.color, delegate(Color color)
  84. {
  85. this.text.color = color;
  86. }, Color.white, 0.3f);
  87. yield return new WaitForSeconds(3.5f);
  88. this.text.gameObject.SetActive(false);
  89. CameraFilterUtils.Remove<CameraFilterPack_TV_PlanetMars>(null);
  90. yield return R.Audio.PlayVoiceOver("e12t2", null, false);
  91. R.Audio.PlayEffect(379, new Vector3?(R.Player.Transform.position));
  92. yield return new WaitForSeconds(1.45f);
  93. R.Camera.Controller.CameraShake(0.5f, 0.2f, CameraController.ShakeTypeEnum.Rect, false);
  94. R.Audio.PlayEffect(377, new Vector3?(R.Player.Transform.position));
  95. yield return new WaitForSeconds(5f);
  96. yield return R.Audio.PlayVoiceOver("e12t3", null, false);
  97. R.Audio.PlayEffect(378, new Vector3?(R.Player.Transform.position));
  98. yield return new WaitForSeconds(3f);
  99. for (int i = 0; i < 13; i++)
  100. {
  101. R.Audio.PlayEffect(367, null);
  102. yield return new WaitForSeconds(0.15f);
  103. }
  104. this._phone.Name = ScriptLocalization.Story.e12s5;
  105. SingletonMono<MobileInputPlayer>.Instance.MainControllerVisiable = false;
  106. this._phone.DialOut();
  107. yield return new WaitForSeconds(3f);
  108. this._phone.Name = ScriptLocalization.Story.e12s6;
  109. this._phone.Recive(true);
  110. yield return R.Audio.PlayVoiceOver("e12t4", null, false);
  111. this._phone.CallEnd(true);
  112. SingletonMono<MobileInputPlayer>.Instance.MainControllerVisiable = true;
  113. R.Audio.PlayEffect(366, new Vector3?(R.Player.Transform.position));
  114. yield return R.Audio.PlayVoiceOver("e12t5", null, false);
  115. R.Audio.PlayEffect(363, new Vector3?(R.Player.Transform.position));
  116. yield return R.Ui.uiNotifacation.Show(ScriptLocalization.Story.e12s7, 2f);
  117. yield return R.Audio.PlayVoiceOver("e12t6", null, false);
  118. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.white));
  119. yield return R.Ui.Terminal.Print(ScriptLocalization.Story.e12s8, 0.1f);
  120. yield return R.Ui.Terminal.Println("......", 0.5f);
  121. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s9 + DateTime.Now, 0.1f);
  122. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s10, 0.1f);
  123. yield return new WaitForSeconds(2f);
  124. yield return R.Ui.Terminal.ShowTexture(this.texture_Girls, 0.8f, 1f);
  125. YieldInstruction t8 = R.Audio.PlayVoiceOver("e12t7", null, false);
  126. yield return new WaitForSeconds(5f);
  127. yield return t8;
  128. yield return R.Ui.Terminal.HideTexture();
  129. yield return new WaitForSeconds(2f);
  130. yield return R.Ui.Terminal.ShowTexture(this.texture_MediaPlayer, 0.8f, 1f);
  131. yield return R.Audio.PlayVoiceOver("e12t8", null, false);
  132. yield return R.Ui.Terminal.HideTexture();
  133. yield return R.Ui.Terminal.CloseWithAnim();
  134. yield return R.Audio.PlayVoiceOver("e12t9", null, false);
  135. YieldInstruction t9 = R.Audio.PlayVoiceOver("e12t10", null, false);
  136. yield return R.Ui.Terminal.OpenWithAnim(null);
  137. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s11, 0.1f);
  138. yield return t9;
  139. R.Audio.PlayVoiceOver("e12t11", null, false);
  140. yield return R.Ui.Terminal.ShowProgressBar(0f);
  141. yield return R.Ui.Terminal.SetProgressBarValueWithAnim(1f, 15f);
  142. this.screenInScene.SetActive(true);
  143. yield return R.Audio.PlayVoiceOver("e12t12", null, false);
  144. yield return R.Ui.Terminal.HideProgressBar();
  145. yield return R.Ui.Terminal.CloseWithAnim();
  146. yield return new WaitForSeconds(1f);
  147. yield return R.Audio.PlayVoiceOver("e12t13", null, false);
  148. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.white));
  149. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s12, 0.1f);
  150. yield return R.Ui.Terminal.ShowProgressBar(0f);
  151. if (UIAudioLanguage.IsChinese)
  152. {
  153. R.Audio.PlayEffect(474, null);
  154. }
  155. else
  156. {
  157. R.Audio.PlayEffect(482, null);
  158. }
  159. yield return R.Ui.Terminal.SetProgressBarValueWithAnim(1f, 12f);
  160. yield return R.Ui.Terminal.HideProgressBar();
  161. yield return R.Ui.Terminal.CloseWithoutAnim();
  162. this._playVideo = PlayVideo.CreateVideo(this._videoRenderer);
  163. this._videoRenderer.gameObject.SetActive(true);
  164. Coroutine video = this._playVideo.Play("Movies/ps4", string.Format("{0}.mp4", (!UILanguage.IsJapanese) ? "atf" : "atf_jp"), false);
  165. yield return R.Audio.PlayVoiceOver("e12t15", null, false);
  166. yield return video;
  167. UnityEngine.Object.Destroy(this._videoRenderer.gameObject);
  168. this._playVideo.Dispose();
  169. R.Ui.BlackScene.Alpha = 1f;
  170. R.Trophy.AwardTrophy(15);
  171. yield return new WaitForSeconds(3f);
  172. yield return R.Audio.PlayVoiceOver("e12t14", null, false);
  173. R.Ui.BlackScene.FadeTransparent(0f, false);
  174. yield return R.Ui.Terminal.OpenWithAnim(new Color?(Color.red));
  175. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s13, 0.1f);
  176. yield return new WaitForSeconds(2f);
  177. R.Ui.Terminal.CloseWithoutAnim();
  178. yield return R.Ui.Terminal.OpenWithAnim(null);
  179. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e12s14, 0.1f);
  180. yield return new WaitForSeconds(3f);
  181. yield return R.Ui.Terminal.CloseWithAnim();
  182. this.E12 = true;
  183. yield return R.Ui.LevelSelect.OpenWithAnim(true, true);
  184. yield break;
  185. }
  186. [SerializeField]
  187. private SceneGate gate1;
  188. [SerializeField]
  189. private SceneGate gate2;
  190. [SerializeField]
  191. private GameObject screenInScene;
  192. [SerializeField]
  193. private Renderer _videoRenderer;
  194. [SerializeField]
  195. private Texture texture_Girls;
  196. [SerializeField]
  197. private Texture texture_MediaPlayer;
  198. [SerializeField]
  199. private TextMesh text;
  200. [SerializeField]
  201. private PhoneController _phone;
  202. private PlayVideo _playVideo;
  203. }