QDManager.cs 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  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. default:
  15. QDDouYouManager.Instance.Init();
  16. break;
  17. }
  18. }
  19. public static void Login()
  20. {
  21. ViewManager.Show<ModalStatusView>("登录中...");
  22. switch (LauncherConfig.ChannelId)
  23. {
  24. case (int)ChannelID.TapTap:
  25. break;
  26. case (int)ChannelID.Test:
  27. bool login = GameController.CheckLoginCache(true);
  28. if (!login)
  29. {
  30. ViewManager.Hide<ModalStatusView>();
  31. ViewManager.Show<LoginInputView>();
  32. }
  33. break;
  34. case (int)ChannelID.DouYouTest:
  35. QDDouYouManager.Instance.Login();
  36. break;
  37. default:
  38. //QDDouYouManager.Instance.Login();
  39. break;
  40. }
  41. }
  42. public static void OnCreateRole()
  43. {
  44. switch (LauncherConfig.ChannelId)
  45. {
  46. case (int)ChannelID.TapTap:
  47. break;
  48. case (int)ChannelID.Test:
  49. break;
  50. case (int)ChannelID.DouYouTest:
  51. QDDouYouManager.Instance.OnCreateRole();
  52. break;
  53. default:
  54. //QDDouYouManager.Instance.OnCreateRole();
  55. break;
  56. }
  57. }
  58. public static void OnEnterGame()
  59. {
  60. switch (LauncherConfig.ChannelId)
  61. {
  62. case (int)ChannelID.TapTap:
  63. break;
  64. case (int)ChannelID.Test:
  65. break;
  66. case (int)ChannelID.DouYouTest:
  67. QDDouYouManager.Instance.OnEnterGame();
  68. break;
  69. default:
  70. //QDDouYouManager.Instance.OnEnterGame();
  71. break;
  72. }
  73. }
  74. //回到登录界面,不退出账号
  75. public static void OnQuitToLoginView()
  76. {
  77. switch (LauncherConfig.ChannelId)
  78. {
  79. case (int)ChannelID.TapTap:
  80. break;
  81. case (int)ChannelID.Test:
  82. break;
  83. case (int)ChannelID.DouYouTest:
  84. QDDouYouManager.Instance.OnQuitToLoginView();
  85. break;
  86. default:
  87. //QDDouYouManager.Instance.OnQuitToLoginView();
  88. break;
  89. }
  90. }
  91. public static void Pay(int buyID, int count, string orderID, long price)
  92. {
  93. switch (LauncherConfig.ChannelId)
  94. {
  95. case (int)ChannelID.TapTap:
  96. break;
  97. case (int)ChannelID.Test:
  98. break;
  99. case (int)ChannelID.DouYouTest:
  100. QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  101. break;
  102. default:
  103. //QDDouYouManager.Instance.Pay(buyID, count, orderID, price);
  104. break;
  105. }
  106. }
  107. public static void Logout(bool fromSdkLogoutCallback)
  108. {
  109. GameGlobal.zoneScene.GetComponent<SessionComponent>()?.Disconnect();
  110. GameGlobal.zoneScene.GetComponent<ServerInfosComponent>()?.ServerInfoList?.Clear();
  111. GameGlobal.zoneScene.GetComponent<AccountInfoComponent>()?.Clear();
  112. if (PlayerPrefs.HasKey(GameConst.PASSWORD_LAST_LOGIN_KEY))
  113. {
  114. PlayerPrefs.DeleteKey(GameConst.PASSWORD_LAST_LOGIN_KEY);
  115. }
  116. switch (LauncherConfig.ChannelId)
  117. {
  118. default:
  119. if (!fromSdkLogoutCallback)
  120. {
  121. QDDouYouManager.Instance.Logout();
  122. }
  123. break;
  124. }
  125. }
  126. public static void Exit()
  127. {
  128. switch (LauncherConfig.ChannelId)
  129. {
  130. case (int)ChannelID.Test:
  131. GameController.ShowExitAlert();
  132. break;
  133. case (int)ChannelID.DouYouTest:
  134. QDDouYouManager.Instance.Exit();
  135. break;
  136. default:
  137. //QDDouYouManager.Instance.Exit();
  138. break;
  139. }
  140. }
  141. //上报角色行为给sdk
  142. public static void PushRoleAction(DouYouRoleLogReportType reportType)
  143. {
  144. //改名上报给sdk
  145. var zoneScene = GameGlobal.zoneScene;
  146. if (zoneScene == null) return;
  147. if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
  148. zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
  149. var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
  150. if (roleInfo == null) return;
  151. if (GameGlobal.myNumericComponent == null) return;
  152. int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  153. if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
  154. if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  155. string serverName = zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  156. QDDouYouManagerInit.Instance.ReportRole((int)reportType,
  157. roleInfo.Id.ToString(), lvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(),
  158. serverName);
  159. }
  160. public static bool IsTaptap
  161. {
  162. get { return LauncherConfig.ChannelId == (int)ChannelID.TapTap; }
  163. }
  164. }
  165. }