QDJGameManager.cs 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301
  1. using System;
  2. using System.Collections.Generic;
  3. using cfg.GfgCfg;
  4. using ET;
  5. using UnityEngine;
  6. using GFGGame.Launcher;
  7. namespace GFGGame
  8. {
  9. public class QDJGameManager : SingletonBase<QDJGameManager>
  10. {
  11. public bool isLogining;
  12. public string uid;
  13. public string token;
  14. public string UserId;
  15. public string UserName;
  16. public string Uuid;
  17. public string Sign;
  18. public string Timestamp;
  19. public string CpExt;
  20. public void Init()
  21. {
  22. Debug.Log("实例化JHGameSDKListener");
  23. QDJHGameManagerInit.Instance._jhGameSDKListener = new JHGameSDKListener();
  24. string url = Application.absoluteURL;
  25. Dictionary<string, object> sdkParams = WebUrlUtil.ParseSDKParamsFromUrl(url);
  26. UserId = sdkParams["user_id"].ToString();
  27. UserName = sdkParams["user_name"].ToString();
  28. Uuid = sdkParams["uuid"].ToString();
  29. Sign = sdkParams["sign"].ToString();
  30. Timestamp = sdkParams["timestamp"].ToString();
  31. CpExt = sdkParams["cp_ext"].ToString();
  32. }
  33. public void OnCreateRole()
  34. {
  35. //改名上报给sdk
  36. var zoneSceneDev = GameGlobal.zoneScene;
  37. if (zoneSceneDev == null) return;
  38. if (zoneSceneDev.GetComponent<RoleInfosComponent>() == null ||
  39. zoneSceneDev.GetComponent<RoleInfosComponent>().IsDisposed) return;
  40. var roleInfoDev = zoneSceneDev.GetComponent<RoleInfosComponent>().GetCurrentRole();
  41. if (roleInfoDev == null) return;
  42. if (GameGlobal.myNumericComponent == null) return;
  43. int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  44. int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  45. if (zoneSceneDev.GetComponent<ServerInfosComponent>() == null) return;
  46. if (zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  47. long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE);
  48. string serverNameDev =
  49. zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  50. QDJHGameManagerInit.Instance.CreateRole(roleInfoDev.Id.ToString(),
  51. roleInfoDev.Name,
  52. lvlDev,
  53. zoneSceneDev.GetComponent<ServerInfosComponent>().CurrentServerId.ToString(),
  54. serverNameDev,
  55. vipLvl,
  56. "",
  57. itemNum.ToString(),
  58. roleInfoDev.CreateTime.ToString());
  59. }
  60. public void OnEnterGame()
  61. {
  62. var zoneSceneDev = GameGlobal.zoneScene;
  63. if (zoneSceneDev == null) return;
  64. if (zoneSceneDev.GetComponent<RoleInfosComponent>() == null ||
  65. zoneSceneDev.GetComponent<RoleInfosComponent>().IsDisposed) return;
  66. var roleInfoDev = zoneSceneDev.GetComponent<RoleInfosComponent>().GetCurrentRole();
  67. if (roleInfoDev == null) return;
  68. if (GameGlobal.myNumericComponent == null) return;
  69. int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  70. int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  71. if (zoneSceneDev.GetComponent<ServerInfosComponent>() == null) return;
  72. if (zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  73. long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE);
  74. string serverNameDev =
  75. zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  76. QDJHGameManagerInit.Instance.LoginRole(roleInfoDev.Id.ToString(),
  77. roleInfoDev.Name,
  78. lvlDev,
  79. zoneSceneDev.GetComponent<ServerInfosComponent>().CurrentServerId.ToString(),
  80. serverNameDev,
  81. vipLvl,
  82. "",
  83. itemNum.ToString(),
  84. roleInfoDev.CreateTime.ToString());
  85. }
  86. public void UpgradeRole()
  87. {
  88. var zoneSceneDev = GameGlobal.zoneScene;
  89. if (zoneSceneDev == null) return;
  90. if (zoneSceneDev.GetComponent<RoleInfosComponent>() == null ||
  91. zoneSceneDev.GetComponent<RoleInfosComponent>().IsDisposed) return;
  92. var roleInfoDev = zoneSceneDev.GetComponent<RoleInfosComponent>().GetCurrentRole();
  93. if (roleInfoDev == null) return;
  94. if (GameGlobal.myNumericComponent == null) return;
  95. int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  96. int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  97. if (zoneSceneDev.GetComponent<ServerInfosComponent>() == null) return;
  98. if (zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  99. long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE);
  100. string serverNameDev =
  101. zoneSceneDev.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  102. QDJHGameManagerInit.Instance.UpgradeRole(roleInfoDev.Id.ToString(),
  103. roleInfoDev.Name,
  104. lvlDev,
  105. zoneSceneDev.GetComponent<ServerInfosComponent>().CurrentServerId.ToString(),
  106. serverNameDev,
  107. vipLvl,
  108. "",
  109. itemNum.ToString(),
  110. roleInfoDev.CreateTime.ToString());
  111. }
  112. public void Pay(int buyID, string orderID, long price)
  113. {
  114. ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(buyID);
  115. if (shopCfg == null)
  116. {
  117. Log.Error($"recharge {buyID} config not found!");
  118. return;
  119. }
  120. ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(shopCfg.ItemId);
  121. if (itemCfg == null)
  122. {
  123. Log.Error($"recharge {buyID} itemCfgId:{shopCfg.ItemId} config not found!");
  124. return;
  125. }
  126. var zoneScene = GameGlobal.zoneScene;
  127. if (zoneScene == null) return;
  128. if (zoneScene.GetComponent<RoleInfosComponent>() == null ||
  129. zoneScene.GetComponent<RoleInfosComponent>().IsDisposed) return;
  130. var roleInfo = zoneScene.GetComponent<RoleInfosComponent>().GetCurrentRole();
  131. if (roleInfo == null) return;
  132. if (GameGlobal.myNumericComponent == null) return;
  133. int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl);
  134. int vipLevel = GameGlobal.myNumericComponent.GetAsInt(NumericType.VipLevel);
  135. if (zoneScene.GetComponent<ServerInfosComponent>() == null) return;
  136. if (zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo == null) return;
  137. string serverName = zoneScene.GetComponent<ServerInfosComponent>().recentlyServerInfo.ServerName;
  138. long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE);
  139. //自定义参数
  140. string other = orderID + "|gfg|" + roleInfo.Id;
  141. QDJHGameManagerInit.Instance.Recharge(Convert.ToInt32(price * 1000), buyID.ToString(), shopCfg.ItemName,
  142. LauncherConfig.rechargeAddress,
  143. roleInfo.ServerId.ToString(), serverName, roleInfo.Name, roleInfo.Id.ToString(), lvl.ToString(),
  144. vipLevel.ToString(), orderID, itemNum.ToString(), other, "");
  145. }
  146. }
  147. /// <summary>
  148. /// SDK回调
  149. /// </summary>
  150. public class JHGameSDKListener : IJHGameSDKListener
  151. {
  152. //通知Unity准备支付
  153. public void OnRechargeStartAb(string message)
  154. {
  155. }
  156. //支付完成后通知Unity
  157. public void OnRechargeCompleteAb(string message)
  158. {
  159. Debug.Log("Game.HotUpdate OnRechargeCompleteAb" + message);
  160. }
  161. //支付错误
  162. public void OnRechargeErrorAb(string message)
  163. {
  164. Debug.Log("Game.HotUpdate PayFailAb: " + message);
  165. }
  166. //创建角色实例化完成
  167. public void OnCreateRoleStartAb(string message)
  168. {
  169. }
  170. //创建角色结果
  171. public void OnCreateRoleCompleteAb(string message)
  172. {
  173. }
  174. //创建角色错误
  175. public void OnCreateRoleErrorAb(string message)
  176. {
  177. }
  178. //角色登录实例化完成
  179. public void OnLoginRoleStartAb(string message)
  180. {
  181. }
  182. //角色登录结果
  183. public void OnLoginRoleCompleteAb(string message)
  184. {
  185. }
  186. //角色登录错误
  187. public void OnLoginRoleErrorAb(string message)
  188. {
  189. }
  190. //角色升级回调实例化完成
  191. public void OnUpgradeRoleStartAb(string message)
  192. {
  193. }
  194. public void OnUpgradeRoleCompleteAb(string message)
  195. {
  196. }
  197. public void OnUpgradeRoleErrorAb(string message)
  198. {
  199. }
  200. //顶号
  201. public void OnRepeatLoginStartAb(string message)
  202. {
  203. }
  204. public void OnRepeatLoginCompleteAb(string message)
  205. {
  206. }
  207. public void OnRepeatLoginErrorAb(string message)
  208. {
  209. }
  210. public void OnCallIcpBeianStartAb(string message)
  211. {
  212. }
  213. public void OnCallIcpBeianCompleteAb(string message)
  214. {
  215. }
  216. public void OnCallIcpBeianErrorAb(string message)
  217. {
  218. }
  219. /// <summary>
  220. /// 切换账号或退出登录后
  221. /// </summary>
  222. /// <param name="message">退出登录成功!</param>
  223. public void OutLoginSuccessAb(string message)
  224. {
  225. Debug.Log("Game.HotUpdate OutLoginSuccessAb: " + message);
  226. GameController.QuitToLoginView(true);
  227. EventAgent.DispatchEvent(ConstMessage.OUT_LOGIN);
  228. }
  229. /// <summary>
  230. /// 支付失败
  231. /// </summary>
  232. /// <param name="message">code + "|gfg|" + params.toString()</param>
  233. public void PayFailAb(string message)
  234. {
  235. Debug.Log("Game.HotUpdate PayFailAb: " + message);
  236. //改变临时订单状态为失败
  237. }
  238. /// <summary>
  239. /// 支付成功
  240. /// </summary>
  241. /// <param name="message">code + "|gfg|" + params.toString()</param>
  242. public void PaySuccessAb(string message)
  243. {
  244. Debug.Log("Game.HotUpdate PaySuccessAb" + message);
  245. }
  246. }
  247. }