QDJGameManager.cs 11 KB

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