QDManager.cs 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361
  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. if (LauncherConfig.platformId == 2)
  19. {
  20. QDDouYouManagerIos.Instance.Init();
  21. }
  22. else
  23. {
  24. QDDouYouManager.Instance.Init();
  25. }
  26. //QDShareManager.Instance.Init();
  27. break;
  28. case (int)ChannelID.DouYouDev:
  29. QDDouYouManager.Instance.Init();
  30. //QDShareManager.Instance.Init();
  31. break;
  32. case (int)ChannelID.GFG:
  33. if (LauncherConfig.platformId == 2)
  34. {
  35. QDAppStoreManager.Init();
  36. }
  37. break;
  38. default:
  39. break;
  40. }
  41. }
  42. public static void Login()
  43. {
  44. ViewManager.Show<ModalStatusView>("登录中...");
  45. switch (LauncherConfig.ChannelId)
  46. {
  47. case (int)ChannelID.Test:
  48. bool login = GameController.CheckLoginCache(true);
  49. if (!login)
  50. {
  51. ViewManager.Hide<ModalStatusView>();
  52. ViewManager.Show<LoginInputView>();
  53. }
  54. break;
  55. case (int)ChannelID.DouYou:
  56. if (LauncherConfig.platformId == 2)
  57. {
  58. QDDouYouManagerIos.Instance.Login();
  59. }
  60. else
  61. {
  62. QDDouYouManager.Instance.Login();
  63. }
  64. break;
  65. case (int)ChannelID.DouYouDev:
  66. QDDouYouManager.Instance.Login();
  67. break;
  68. case (int)ChannelID.GFG:
  69. bool loginAppStore = GameController.CheckLoginCache(true);
  70. if (!loginAppStore)
  71. {
  72. ViewManager.Hide<ModalStatusView>();
  73. ViewManager.Show<LoginInputView>();
  74. }
  75. break;
  76. default:
  77. break;
  78. }
  79. }
  80. public static void OnCreateRole()
  81. {
  82. switch (LauncherConfig.ChannelId)
  83. {
  84. case (int)ChannelID.Test:
  85. break;
  86. case (int)ChannelID.DouYou:
  87. if (LauncherConfig.platformId == 1)
  88. {
  89. QDDouYouManager.Instance.OnCreateRole();
  90. }
  91. break;
  92. case (int)ChannelID.DouYouDev:
  93. QDDouYouManager.Instance.OnCreateRole();
  94. break;
  95. case (int)ChannelID.GFG:
  96. if (LauncherConfig.platformId == 2)
  97. {
  98. QDAppStoreManager.OnCreateRole();
  99. }
  100. break;
  101. default:
  102. break;
  103. }
  104. }
  105. public static void OnEnterGame()
  106. {
  107. switch (LauncherConfig.ChannelId)
  108. {
  109. case (int)ChannelID.Test:
  110. break;
  111. case (int)ChannelID.DouYou:
  112. if (LauncherConfig.platformId == 2)
  113. {
  114. QDDouYouManagerIos.Instance.OnEnterGame();
  115. }
  116. else
  117. {
  118. QDDouYouManager.Instance.OnEnterGame();
  119. }
  120. break;
  121. case (int)ChannelID.DouYouDev:
  122. QDDouYouManager.Instance.OnEnterGame();
  123. break;
  124. case (int)ChannelID.GFG:
  125. if (LauncherConfig.platformId == 2)
  126. {
  127. QDAppStoreManager.OnEnterGame();
  128. }
  129. break;
  130. default:
  131. break;
  132. }
  133. }
  134. //回到登录界面,不退出账号
  135. public static void OnQuitToLoginView()
  136. {
  137. switch (LauncherConfig.ChannelId)
  138. {
  139. case (int)ChannelID.Test:
  140. break;
  141. case (int)ChannelID.DouYou:
  142. if (LauncherConfig.platformId == 2)
  143. {
  144. QDDouYouManagerIos.Instance.OnQuitToLoginView();
  145. }
  146. else
  147. {
  148. QDDouYouManager.Instance.OnQuitToLoginView();
  149. }
  150. break;
  151. case (int)ChannelID.DouYouDev:
  152. QDDouYouManager.Instance.OnQuitToLoginView();
  153. break;
  154. case (int)ChannelID.GFG:
  155. break;
  156. default:
  157. break;
  158. }
  159. }
  160. public static void Pay(int buyID, int count, string orderID, long price)
  161. {
  162. switch (LauncherConfig.ChannelId)
  163. {
  164. case (int)ChannelID.Test:
  165. break;
  166. case (int)ChannelID.DouYou:
  167. if (LauncherConfig.platformId == 2)
  168. {
  169. QDDouYouManagerIos.Instance.Pay(buyID, count, orderID, price);
  170. }
  171. else
  172. {
  173. QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  174. }
  175. break;
  176. case (int)ChannelID.DouYouDev:
  177. QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  178. break;
  179. case (int)ChannelID.GFG:
  180. if (LauncherConfig.platformId == 2)
  181. {
  182. QDAppStoreManager.Pay(buyID, count, orderID, price);
  183. }
  184. break;
  185. default:
  186. break;
  187. }
  188. }
  189. public static void Logout()
  190. {
  191. GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();
  192. GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
  193. GameGlobal.zoneScene.GetComponent<AccountInfoComponent>()?.Clear();
  194. if (PlayerPrefs.HasKey(GameConst.PASSWORD_LAST_LOGIN_KEY))
  195. {
  196. PlayerPrefs.DeleteKey(GameConst.PASSWORD_LAST_LOGIN_KEY);
  197. }
  198. switch (LauncherConfig.ChannelId)
  199. {
  200. case (int)ChannelID.Test:
  201. break;
  202. case (int)ChannelID.DouYou:
  203. if (LauncherConfig.platformId == 2)
  204. {
  205. QDDouYouManagerIos.Instance.Logout();
  206. }
  207. else
  208. {
  209. QDDouYouManager.Instance.Logout();
  210. }
  211. break;
  212. case (int)ChannelID.DouYouDev:
  213. QDDouYouManager.Instance.Logout();
  214. break;
  215. case (int)ChannelID.GFG:
  216. ViewManager.Show<LoginInputView>();
  217. break;
  218. default:
  219. break;
  220. }
  221. }
  222. public static void Exit()
  223. {
  224. switch (LauncherConfig.ChannelId)
  225. {
  226. case (int)ChannelID.Test:
  227. GameController.ShowExitAlert();
  228. break;
  229. case (int)ChannelID.DouYou:
  230. if (LauncherConfig.platformId == 2)
  231. {
  232. QDDouYouManagerIos.Instance.Exit();
  233. }
  234. else
  235. {
  236. QDDouYouManager.Instance.Exit();
  237. }
  238. break;
  239. case (int)ChannelID.DouYouDev:
  240. QDDouYouManager.Instance.Exit();
  241. break;
  242. case (int)ChannelID.GFG:
  243. GameController.ShowExitAlert();
  244. break;
  245. default:
  246. break;
  247. }
  248. }
  249. //上报角色行为给sdk
  250. public static void PushRoleAction(DouYouRoleLogReportType reportType)
  251. {
  252. var zoneScene = GameGlobal.zoneScene;
  253. if (zoneScene == null) return;
  254. if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
  255. zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
  256. var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
  257. if (roleInfo == null) return;
  258. if (GameGlobal.myNumericComponent == null) return;
  259. int roleLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  260. int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.VipLevel);
  261. if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
  262. if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  263. string serverName =
  264. zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  265. string partyName = LeagueDataManager.Instance.LeagueData?.Name ?? "";
  266. string roleBalence = "0";
  267. switch (LauncherConfig.ChannelId)
  268. {
  269. case (int)ChannelID.Test:
  270. break;
  271. case (int)ChannelID.DouYou:
  272. if (LauncherConfig.platformId == 2)
  273. {
  274. QDDouYouManagerInitIos.Instance.ReportRoleInfo(((int)reportType).ToString(),
  275. roleInfo.ServerId.ToString(),
  276. serverName, roleInfo.Id.ToString(), roleInfo.Name, roleLvl.ToString(), vipLvl.ToString(),
  277. partyName,
  278. roleBalence);
  279. }
  280. else
  281. {
  282. QDDouYouManagerInit.Instance.ReportRole((int)reportType,
  283. roleInfo.Id.ToString(), roleLvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
  284. serverName);
  285. }
  286. break;
  287. case (int)ChannelID.DouYouDev:
  288. QDDouYouManagerInit.Instance.ReportRole((int)reportType,
  289. roleInfo.Id.ToString(), roleLvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
  290. serverName);
  291. break;
  292. case (int)ChannelID.GFG:
  293. break;
  294. default:
  295. break;
  296. }
  297. }
  298. public static bool IsTaptap
  299. {
  300. get { return LauncherConfig.ChannelId == (int)ChannelID.TapTap; }
  301. }
  302. public static bool IsHYKB
  303. {
  304. get { return LauncherConfig.ChannelId == (int)ChannelID.HYKB; }
  305. }
  306. public static bool IsBiliBili
  307. {
  308. get { return LauncherConfig.ChannelId == (int)ChannelID.BiliBili; }
  309. }
  310. public static bool IsHuaWei
  311. {
  312. get { return LauncherConfig.ChannelId == (int)ChannelID.HUAWEI; }
  313. }
  314. }
  315. }