AppStartInitFinish_CreateLoginUI.cs 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Cysharp.Threading.Tasks;
  2. using FairyGUI;
  3. using Sirenix.Utilities;
  4. using UnityEngine;
  5. namespace ET.Client
  6. {
  7. [Event(SceneType.Client)]
  8. public class AppStartInitFinish_CreateLoginUI : AEvent<EventType.AppStartInitFinish>
  9. {
  10. protected override async ETTask Run(Scene scene, EventType.AppStartInitFinish args)
  11. {
  12. Log.Debug("to load login ui.");
  13. var view = await UIHelper.Create("Login");
  14. InitLogin(scene, view);
  15. var preView = GRoot.inst.GetChildAt(0);
  16. GRoot.inst.RemoveChild(preView, true);
  17. UIPackage.RemovePackage("CheckForResUpdate");
  18. }
  19. private void InitLogin(Scene scene, GComponent view)
  20. {
  21. var account = view.GetChild("input_name");
  22. var password = view.GetChild("input_password");
  23. var btn = view.GetChild("Btn_Login");
  24. btn.onClick.Add(async () =>
  25. {
  26. var imgtips = view.GetChild("img_tips");
  27. var tips = view.GetChild("txt_tips");
  28. tips.visible = false;
  29. imgtips.visible = false;
  30. if (account.text.IsNullOrWhitespace() || password.text.IsNullOrWhitespace())
  31. {
  32. tips.visible = true;
  33. tips.text = "用户名或密码为空";
  34. return;
  35. }
  36. imgtips.visible = true;
  37. btn.enabled = false;
  38. var ret = await LoginHelper.Login(scene, account.text, password.text);
  39. if (ret != ErrorCode.ERR_Success)
  40. {
  41. imgtips.visible = false;
  42. tips.visible = true;
  43. btn.enabled = true;
  44. if (ret == ErrorCode.ERR_UserNameOrPasswordFormatError ||
  45. ret == ErrorCode.ERR_UserNameOrPasswordError)
  46. {
  47. tips.text = "用户名或密码错误";
  48. }
  49. else
  50. {
  51. tips.text = "连接服务器过程中出现了问题\n" +
  52. "如重试后还是不行,请与客服联系" +
  53. "\n[color=#FFCCCC][b]QQ: 400888666[/b][/color] 微信:[color=#FFCCCC][b]大老板[/color][/b]";
  54. }
  55. }
  56. });
  57. }
  58. }
  59. }