ChangeLanguageDebuggerWindow.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. //------------------------------------------------------------
  2. // Game Framework
  3. // Copyright © 2013-2021 Jiang Yin. All rights reserved.
  4. // Homepage: https://gameframework.cn/
  5. // Feedback: mailto:ellan@gameframework.cn
  6. //------------------------------------------------------------
  7. using GameFramework.Debugger;
  8. using GameFramework.Localization;
  9. using UnityEngine;
  10. using UnityGameFramework.Runtime;
  11. namespace MetaClient
  12. {
  13. public class ChangeLanguageDebuggerWindow : IDebuggerWindow
  14. {
  15. private Vector2 m_ScrollPosition = Vector2.zero;
  16. private bool m_NeedRestart = false;
  17. public void Initialize(params object[] args)
  18. {
  19. }
  20. public void Shutdown()
  21. {
  22. }
  23. public void OnEnter()
  24. {
  25. }
  26. public void OnLeave()
  27. {
  28. }
  29. public void OnUpdate(float elapseSeconds, float realElapseSeconds)
  30. {
  31. if (m_NeedRestart)
  32. {
  33. m_NeedRestart = false;
  34. UnityGameFramework.Runtime.GameEntry.Shutdown(ShutdownType.Restart);
  35. }
  36. }
  37. public void OnDraw()
  38. {
  39. m_ScrollPosition = GUILayout.BeginScrollView(m_ScrollPosition);
  40. {
  41. DrawSectionChangeLanguage();
  42. }
  43. GUILayout.EndScrollView();
  44. }
  45. private void DrawSectionChangeLanguage()
  46. {
  47. GUILayout.Label("<b>Change Language</b>");
  48. GUILayout.BeginHorizontal("box");
  49. {
  50. if (GUILayout.Button("Chinese Simplified", GUILayout.Height(30)))
  51. {
  52. GameEntry.Localization.Language = Language.ChineseSimplified;
  53. SaveLanguage();
  54. }
  55. if (GUILayout.Button("Chinese Traditional", GUILayout.Height(30)))
  56. {
  57. GameEntry.Localization.Language = Language.ChineseTraditional;
  58. SaveLanguage();
  59. }
  60. if (GUILayout.Button("English", GUILayout.Height(30)))
  61. {
  62. GameEntry.Localization.Language = Language.English;
  63. SaveLanguage();
  64. }
  65. }
  66. GUILayout.EndHorizontal();
  67. }
  68. private void SaveLanguage()
  69. {
  70. GameEntry.Setting.SetString(Constant.Setting.Language, GameEntry.Localization.Language.ToString());
  71. GameEntry.Setting.Save();
  72. m_NeedRestart = true;
  73. }
  74. }
  75. }