QDManager.cs 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. using ET;
  2. using GFGGame.Launcher;
  3. using UnityEngine;
  4. namespace GFGGame
  5. {
  6. public class QDManager
  7. {
  8. public bool isLogining;
  9. public string uid;
  10. public static void Init()
  11. {
  12. switch (LauncherConfig.ChannelId)
  13. {
  14. case (int)ChannelID.Test:
  15. QDShareManager.Instance.Init();
  16. break;
  17. case (int)ChannelID.DouYou:
  18. QDDouYouManager.Instance.Init();
  19. QDShareManager.Instance.Init();
  20. break;
  21. case (int)ChannelID.DouYouDev:
  22. QDDouYouManager.Instance.Init();
  23. QDShareManager.Instance.Init();
  24. break;
  25. default:
  26. break;
  27. }
  28. }
  29. public static void Login()
  30. {
  31. ViewManager.Show<ModalStatusView>("登录中...");
  32. switch (LauncherConfig.ChannelId)
  33. {
  34. case (int)ChannelID.Test:
  35. bool login = GameController.CheckLoginCache(true);
  36. if (!login)
  37. {
  38. ViewManager.Hide<ModalStatusView>();
  39. ViewManager.Show<LoginInputView>();
  40. }
  41. break;
  42. case (int)ChannelID.DouYou:
  43. QDDouYouManager.Instance.Login();
  44. break;
  45. case (int)ChannelID.DouYouDev:
  46. QDDouYouManager.Instance.Login();
  47. break;
  48. default:
  49. break;
  50. }
  51. }
  52. public static void OnCreateRole()
  53. {
  54. switch (LauncherConfig.ChannelId)
  55. {
  56. case (int)ChannelID.Test:
  57. break;
  58. case (int)ChannelID.DouYou:
  59. QDDouYouManager.Instance.OnCreateRole();
  60. break;
  61. case (int)ChannelID.DouYouDev:
  62. QDDouYouManager.Instance.OnCreateRole();
  63. break;
  64. default:
  65. break;
  66. }
  67. }
  68. public static void OnEnterGame()
  69. {
  70. switch (LauncherConfig.ChannelId)
  71. {
  72. case (int)ChannelID.Test:
  73. break;
  74. case (int)ChannelID.DouYou:
  75. QDDouYouManager.Instance.OnEnterGame();
  76. break;
  77. case (int)ChannelID.DouYouDev:
  78. QDDouYouManager.Instance.OnEnterGame();
  79. break;
  80. default:
  81. break;
  82. }
  83. }
  84. //回到登录界面,不退出账号
  85. public static void OnQuitToLoginView()
  86. {
  87. switch (LauncherConfig.ChannelId)
  88. {
  89. case (int)ChannelID.Test:
  90. break;
  91. case (int)ChannelID.DouYou:
  92. QDDouYouManager.Instance.OnQuitToLoginView();
  93. break;
  94. case (int)ChannelID.DouYouDev:
  95. QDDouYouManager.Instance.OnQuitToLoginView();
  96. break;
  97. default:
  98. break;
  99. }
  100. }
  101. public static void Pay(int buyID, int count, string orderID, long price)
  102. {
  103. switch (LauncherConfig.ChannelId)
  104. {
  105. case (int)ChannelID.Test:
  106. break;
  107. case (int)ChannelID.DouYou:
  108. QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  109. break;
  110. case (int)ChannelID.DouYouDev:
  111. QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  112. break;
  113. default:
  114. break;
  115. }
  116. }
  117. public static void Logout()
  118. {
  119. GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();
  120. GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
  121. GameGlobal.zoneScene.GetComponent<AccountInfoComponent>()?.Clear();
  122. if (PlayerPrefs.HasKey(GameConst.PASSWORD_LAST_LOGIN_KEY))
  123. {
  124. PlayerPrefs.DeleteKey(GameConst.PASSWORD_LAST_LOGIN_KEY);
  125. }
  126. switch (LauncherConfig.ChannelId)
  127. {
  128. case (int)ChannelID.Test:
  129. break;
  130. case (int)ChannelID.DouYou:
  131. QDDouYouManager.Instance.Logout();
  132. break;
  133. case (int)ChannelID.DouYouDev:
  134. QDDouYouManager.Instance.Logout();
  135. break;
  136. default:
  137. break;
  138. }
  139. }
  140. public static void Exit()
  141. {
  142. switch (LauncherConfig.ChannelId)
  143. {
  144. case (int)ChannelID.Test:
  145. GameController.ShowExitAlert();
  146. break;
  147. case (int)ChannelID.DouYou:
  148. QDDouYouManager.Instance.Exit();
  149. break;
  150. case (int)ChannelID.DouYouDev:
  151. QDDouYouManager.Instance.Exit();
  152. break;
  153. default:
  154. break;
  155. }
  156. }
  157. //上报角色行为给sdk
  158. public static void PushRoleAction(DouYouRoleLogReportType reportType)
  159. {
  160. switch (LauncherConfig.ChannelId)
  161. {
  162. case (int)ChannelID.Test:
  163. break;
  164. case (int)ChannelID.DouYou:
  165. //改名上报给sdk
  166. var zoneScene = GameGlobal.zoneScene;
  167. if (zoneScene == null) return;
  168. if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
  169. zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
  170. var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
  171. if (roleInfo == null) return;
  172. if (GameGlobal.myNumericComponent == null) return;
  173. int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  174. if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
  175. if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  176. string serverName = zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  177. QDDouYouManagerInit.Instance.ReportRole((int)reportType,
  178. roleInfo.Id.ToString(), lvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
  179. serverName);
  180. break;
  181. case (int)ChannelID.DouYouDev:
  182. //改名上报给sdk
  183. var zoneSceneDev = GameGlobal.zoneScene;
  184. if (zoneSceneDev == null) return;
  185. if (zoneSceneDev.GetComponent<RoleInfosComponent>() == null ||
  186. zoneSceneDev.GetComponent<RoleInfosComponent>().IsDisposed) return;
  187. var roleInfoDev = zoneSceneDev.GetComponent<RoleInfosComponent>().GetCurrentRole();
  188. if (roleInfoDev == null) return;
  189. if (GameGlobal.myNumericComponent == null) return;
  190. int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  191. if (zoneSceneDev.GetComponent<ServerInfosComponent>() == null) return;
  192. if (zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  193. string serverNameDev =
  194. zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  195. QDDouYouManagerInit.Instance.ReportRole((int)reportType,
  196. roleInfoDev.Id.ToString(), lvlDev.ToString(), roleInfoDev.Name, roleInfoDev.ServerId.ToString(),
  197. serverNameDev);
  198. break;
  199. default:
  200. break;
  201. }
  202. }
  203. public static bool IsTaptap
  204. {
  205. get { return LauncherConfig.ChannelId == (int)ChannelID.TapTap; }
  206. }
  207. public static bool IsHYKB
  208. {
  209. get { return LauncherConfig.ChannelId == (int)ChannelID.HYKB; }
  210. }
  211. public static bool IsBiliBili
  212. {
  213. get { return LauncherConfig.ChannelId == (int)ChannelID.BiliBili; }
  214. }
  215. public static bool IsHuaWei
  216. {
  217. get { return LauncherConfig.ChannelId == (int)ChannelID.HUAWEI; }
  218. }
  219. }
  220. }