QDHYKBManager.cs 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149
  1. using System;
  2. using com.m3839.sdk;
  3. using com.m3839.sdk.login;
  4. using com.m3839.sdk.login.bean;
  5. using com.m3839.sdk.login.listener;
  6. using ET;
  7. using UnityEngine;
  8. namespace GFGGame
  9. {
  10. public class QDHYKBManager : SingletonBase<QDHYKBManager>
  11. {
  12. public void InitSDK()
  13. {
  14. // 游戏屏幕方向 (Game Screen Orientation)
  15. int screenOrienation = HykbContext.SCREEN_PORTRAIT;
  16. // 初始化回调监听(Init callback)
  17. HykbLogin.SetUserListener(new HykbUserListenerProxy());
  18. HykbLogin.SetAntiListener(new HykbAntiListenerProxy());
  19. HykbInitListenerProxy proxy = new HykbInitListenerProxy();
  20. HykbLogin.Init("25374", screenOrienation, proxy);
  21. }
  22. /// <summary>
  23. /// 登录
  24. /// </summary>
  25. public void Login()
  26. {
  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. /// <summary>
  60. /// 登出
  61. /// </summary>
  62. public void OnQuitToLoginView()
  63. {
  64. // 登出 (Logout)
  65. HykbLogin.Logout();
  66. }
  67. }
  68. class HykbInitListenerProxy : HykbV2InitListener
  69. {
  70. public HykbInitListenerProxy()
  71. {
  72. }
  73. public override void OnSucceed()
  74. {
  75. Log.Debug("HykbInitListenerProxy OnSucceed");
  76. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, true);
  77. }
  78. public override void OnFailed(int code, string message)
  79. {
  80. Log.Debug("HykbInitListenerProxy OnFailed code: " + code + " - message:" + message);
  81. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_INITED, false);
  82. }
  83. }
  84. /// <summary>
  85. /// 用户信息相关的监听(登录和切换账号)
  86. /// </summary>
  87. class HykbUserListenerProxy : HykbUserListener
  88. {
  89. public HykbUserListenerProxy()
  90. {
  91. }
  92. public override void OnLoginFailed(int code, string message)
  93. {
  94. //instance.ShowText.text = "code:" + code + " -message:" + message;
  95. Log.Debug($"OnLoginFailed code: " + code + " - message:" + message);
  96. //PromptController.Instance.ShowFloatTextPrompt(message);
  97. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, null);
  98. }
  99. public override void OnLoginSucceed(HykbUser user)
  100. {
  101. //instance.ShowText.text = "" + user.getNick();
  102. Log.Debug("OnLoginSucceed");
  103. EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, user.getUserId());
  104. }
  105. public override void OnSwitchUser(HykbUser user)
  106. {
  107. Log.Debug("OnSwitchUser");
  108. //instance.ShowText.text = "" + user.getNick();
  109. }
  110. }
  111. class HykbAntiListenerProxy : HykbAntiListener
  112. {
  113. public override void OnAnti(int code, string message)
  114. {
  115. Log.Debug($"OnAnti code {code} message {message}");
  116. if(code == 100)
  117. {
  118. }
  119. else
  120. {
  121. HykbLogin.Logout();
  122. }
  123. }
  124. }
  125. }