StoryE26P1.cs 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. using System;
  2. using System.Collections;
  3. using I2.Loc;
  4. using UnityEngine;
  5. [RequireComponent(typeof(BoxCollider2D))]
  6. public class StoryE26P1 : BaseBehaviour
  7. {
  8. private bool e26p1
  9. {
  10. get
  11. {
  12. return this._isUCEY && !SaveStorage.Get("E26_Finish", false);
  13. }
  14. }
  15. private bool _isUCEY
  16. {
  17. get
  18. {
  19. return R.GameData.RoleName == "UCEY" || R.GameData.RoleName == "佑希";
  20. }
  21. }
  22. private void OnTriggerEnter2D(Collider2D collision)
  23. {
  24. if (!collision.CompareTag("Player"))
  25. {
  26. return;
  27. }
  28. R.Ui.BloodPalace.OpenScoreboard(true);
  29. if (this.e26p1 && !this._p1Running)
  30. {
  31. this._doorAnimator.enabled = false;
  32. this._211Gate.openType = SceneGate.OpenType.None;
  33. this._p1Running = true;
  34. base.StartCoroutine(this.P1Coroutine());
  35. }
  36. }
  37. private void OnTriggerExit2D(Collider2D collision)
  38. {
  39. if (!collision.CompareTag("Player"))
  40. {
  41. return;
  42. }
  43. if (this.e26p1)
  44. {
  45. return;
  46. }
  47. R.Ui.BloodPalace.CloseScoreboard(true);
  48. }
  49. private IEnumerator P1Coroutine()
  50. {
  51. yield return new WaitForSeconds(5f);
  52. R.Ui.BloodPalace.CloseScoreboard(true);
  53. yield return R.Audio.PlayVoiceOver("e26t1", null, false);
  54. yield return R.Audio.PlayVoiceOver("e26t2", null, false);
  55. yield return R.Audio.PlayVoiceOver("e26t3", null, false);
  56. yield return R.Ui.Terminal.OpenWithAnim(null);
  57. yield return new WaitForSeconds(1f);
  58. yield return R.Ui.Terminal.PrintlnInstantly(ScriptLocalization.Story.e26s1);
  59. yield return new WaitForSeconds(1f);
  60. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s2, 0.1f);
  61. yield return new WaitForSeconds(1f);
  62. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s3, 0.1f);
  63. yield return new WaitForSeconds(1f);
  64. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s4, 0.1f);
  65. yield return new WaitForSeconds(1f);
  66. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s5, 0.1f);
  67. yield return new WaitForSeconds(1f);
  68. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s6, 0.1f);
  69. yield return new WaitForSeconds(1f);
  70. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s7, 0.1f);
  71. yield return new WaitForSeconds(1f);
  72. yield return R.Ui.Terminal.Println(ScriptLocalization.Story.e26s8, 0.1f);
  73. yield return new WaitForSeconds(1f);
  74. yield return R.Ui.Terminal.PrintlnInstantly(ScriptLocalization.Story.e21s24);
  75. yield return new WaitForSeconds(1f);
  76. yield return R.Ui.Terminal.PrintlnInstantly(ScriptLocalization.Story.e21s22);
  77. yield return new WaitForSeconds(2f);
  78. yield return R.Ui.Terminal.CloseWithAnim();
  79. R.Ui.BloodPalace.CloseScoreboard(false);
  80. this._palace7Gate.Enter(false);
  81. yield break;
  82. }
  83. private bool _p1Running;
  84. [SerializeField]
  85. private SceneGate _palace7Gate;
  86. [SerializeField]
  87. private SceneGate _211Gate;
  88. [SerializeField]
  89. private Animator _doorAnimator;
  90. }