QDHYKBManager.cs 4.1 KB

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