StartTips.cs 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150
  1. /****************************************************************************
  2. * 2024.9 CHIVA
  3. ****************************************************************************/
  4. using System;
  5. using System.Collections.Generic;
  6. using UnityEngine;
  7. using UnityEngine.UI;
  8. using QFramework;
  9. using ChivaXR;
  10. using I2.Loc;
  11. using DG.Tweening;
  12. namespace QFramework
  13. {
  14. public partial class StartTips : UIElement
  15. {
  16. private CanvasGroup m_CanvasGroup;
  17. private void Awake()
  18. {
  19. switch (OperateSetting.Instance.m_CurrentOperationMode)
  20. {
  21. case OperationMode.Learn:
  22. StartTitle.text = ScriptLocalization.tips.startlearning;
  23. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  24. {
  25. StartInfo.text = "Click to start learning";
  26. }
  27. else
  28. {
  29. StartInfo.text = "点击任意处开始学习";
  30. }
  31. break;
  32. case OperationMode.Practice:
  33. StartTitle.text = ScriptLocalization.tips.startparticing;
  34. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  35. {
  36. StartInfo.text = "Click to start practicing";
  37. }
  38. else
  39. {
  40. StartInfo.text = "点击任意处开始练习";
  41. }
  42. break;
  43. case OperationMode.Exam:
  44. StartTitle.text = ScriptLocalization.tips.startexam;
  45. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  46. {
  47. StartInfo.text = "Click to start the exam";
  48. }
  49. else
  50. {
  51. StartInfo.text = "点击任意处开始考试";
  52. }
  53. break;
  54. case OperationMode.Challenge:
  55. break;
  56. default:
  57. break;
  58. }
  59. m_CanvasGroup = this.GetOrAddComponent<CanvasGroup>();
  60. TipsBG.rectTransform.DOAnchorPosX(0, 0.5f).SetEase(Ease.OutBack);
  61. StartInfo.DOColor(new Color(1, 1, 1, 1), 1).OnComplete(() => {
  62. StartInfo.DOColor(new Color(1, 1, 1, 0.4f), 0.8f).SetEase(Ease.InSine).SetLoops(-1, LoopType.Yoyo);
  63. });
  64. StartBtn.onClick.AddListener(() =>
  65. {
  66. m_CanvasGroup.DOFade(0, 0.7f).SetEase(Ease.InSine).OnComplete(() =>
  67. {
  68. this.gameObject.SetActive(false);
  69. });
  70. OperateSetting.Instance.StartProcess();
  71. StartBtn.interactable = false;
  72. });
  73. }
  74. protected override void OnBeforeDestroy()
  75. {
  76. }
  77. void OnEnable()
  78. {
  79. LocalizationManager.OnLocalizeEvent += LocalizationManager_OnLocalizeEvent;
  80. LocalizationManager_OnLocalizeEvent();
  81. }
  82. void OnDisEnable()
  83. {
  84. LocalizationManager.OnLocalizeEvent -= LocalizationManager_OnLocalizeEvent;
  85. }
  86. private void LocalizationManager_OnLocalizeEvent()
  87. {
  88. if (LocalizationConfig.localization)
  89. {
  90. switch (OperateSetting.Instance.m_CurrentOperationMode)
  91. {
  92. case OperationMode.Learn:
  93. StartTitle.text = ScriptLocalization.tips.startlearning;
  94. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  95. {
  96. StartInfo.text = "Click to start learning";
  97. }
  98. else
  99. {
  100. StartInfo.text = "点击任意处开始学习";
  101. }
  102. break;
  103. case OperationMode.Practice:
  104. StartTitle.text = ScriptLocalization.tips.startparticing;
  105. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  106. {
  107. StartInfo.text = "Click to start practicing";
  108. }
  109. else
  110. {
  111. StartInfo.text = "点击任意处开始练习";
  112. }
  113. break;
  114. case OperationMode.Exam:
  115. StartTitle.text = ScriptLocalization.tips.startexam;
  116. if (LocalizationConfig.localization && LocalizationManager.CurrentLanguage == "English")
  117. {
  118. StartInfo.text = "Click to start the exam";
  119. }
  120. else
  121. {
  122. StartInfo.text = "点击任意处开始考试";
  123. }
  124. break;
  125. case OperationMode.Challenge:
  126. break;
  127. default:
  128. break;
  129. }
  130. }
  131. }
  132. }
  133. }