QDHYKBManager.cs 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. using com.m3839.sdk;
  2. using com.m3839.sdk.login;
  3. using com.m3839.sdk.login.bean;
  4. using com.m3839.sdk.login.listener;
  5. using ET;
  6. namespace GFGGame
  7. {
  8. public class QDHYKBManager : SingletonBase<QDHYKBManager>
  9. {
  10. public string UserId;
  11. public void InitSDK()
  12. {
  13. // 游戏屏幕方向 (Game Screen Orientation)
  14. int screenOrienation = HykbContext.SCREEN_PORTRAIT;
  15. // 初始化回调监听(Init callback)
  16. HykbLogin.SetUserListener(new HykbUserListenerProxy());
  17. HykbLogin.SetAntiListener(new HykbAntiListenerProxy());
  18. HykbInitListenerProxy proxy = new HykbInitListenerProxy();
  19. HykbLogin.Init("25374", screenOrienation, proxy);
  20. }
  21. /// <summary>
  22. /// 登录
  23. /// </summary>
  24. public void Login()
  25. {
  26. QDHYKBManager.Instance.UserId = null;
  27. ViewManager.Show<ModalStatusView>("登录中...");
  28. HykbUser user = HykbLogin.GetUser();
  29. Log.Debug($"sdk manager Login {user == null}");
  30. if (user != null)
  31. {
  32. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, user.getUserId());
  33. }
  34. else
  35. {
  36. Log.Debug($"sdk Login");
  37. HykbLogin.Login();
  38. }
  39. }
  40. /// <summary>
  41. /// 切换账号
  42. /// </summary>
  43. public void DoSwitchAccount()
  44. {
  45. HykbLogin.SwitchAccount();
  46. }
  47. /// <summary>
  48. /// 获取用户信息
  49. /// </summary>
  50. public void GetUser()
  51. {
  52. // 获取当前用户信息(Get current User information)
  53. HykbUser user = HykbLogin.GetUser();
  54. if (user != null)
  55. {
  56. //ShowText.text = user.toString();
  57. }
  58. }
  59. //回到登录界面,不退出账号
  60. public void OnQuitToLoginView()
  61. {
  62. }
  63. public void Logout()
  64. {
  65. // 登出 (Logout)
  66. HykbLogin.Logout();
  67. }
  68. }
  69. class HykbInitListenerProxy : HykbV2InitListener
  70. {
  71. public HykbInitListenerProxy()
  72. {
  73. }
  74. public override void OnSucceed()
  75. {
  76. Log.Debug("HykbInitListenerProxy OnSucceed");
  77. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, true);
  78. }
  79. public override void OnFailed(int code, string message)
  80. {
  81. Log.Debug("HykbInitListenerProxy OnFailed code: " + code + " - message:" + message);
  82. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, false);
  83. }
  84. }
  85. /// <summary>
  86. /// 用户信息相关的监听(登录和切换账号)
  87. /// </summary>
  88. class HykbUserListenerProxy : HykbUserListener
  89. {
  90. public HykbUserListenerProxy()
  91. {
  92. }
  93. public override void OnLoginFailed(int code, string message)
  94. {
  95. Log.Debug($"OnLoginFailed code: " + code + " - message:" + message);
  96. if (code == 2003)
  97. {
  98. ViewManager.Hide<ModalStatusView>();
  99. return;
  100. }
  101. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, null);
  102. }
  103. public override void OnLoginSucceed(HykbUser user)
  104. {
  105. Log.Debug("OnLoginSucceed");
  106. QDHYKBManager.Instance.UserId = user.getUserId();
  107. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, user.getUserId());
  108. }
  109. public override void OnSwitchUser(HykbUser user)
  110. {
  111. Log.Debug("OnSwitchUser");
  112. //instance.ShowText.text = "" + user.getNick();
  113. }
  114. }
  115. class HykbAntiListenerProxy : HykbAntiListener
  116. {
  117. public override void OnAnti(int code, string message)
  118. {
  119. Log.Debug($"OnAnti code {code} message {message}");
  120. if(code == 100)
  121. {
  122. }
  123. else
  124. {
  125. HykbLogin.Logout();
  126. }
  127. }
  128. }
  129. }