QDJHGameManagerInit.cs 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. using System.Collections.Generic;
  2. using JHGameSDK;
  3. using UnityEngine;
  4. namespace GFGGame.Launcher
  5. {
  6. public class QDJHGameManagerInit : SingletonBase<QDJHGameManagerInit>
  7. {
  8. public IJHGameSDKListener _jhGameSDKListener;
  9. public JHGameSDKHandler _eventHandler;
  10. // SDK 参数
  11. public void InitSDK()
  12. {
  13. _eventHandler = GameObject.Find("JHGameSDKGameObject")?.GetComponent<JHGameSDKHandler>();
  14. if (_eventHandler == null)
  15. {
  16. GameObject gameObject = new GameObject("JHGameSDKGameObject");
  17. gameObject.AddComponent<JHGameSDKHandler>();
  18. GameObject.DontDestroyOnLoad(gameObject);
  19. _eventHandler = GameObject.Find("JHGameSDKGameObject")?.GetComponent<JHGameSDKHandler>();
  20. }
  21. }
  22. /// <summary>
  23. /// 支付相关
  24. /// </summary>
  25. /// <param name="amount">充值金额 单位为分</param>
  26. /// <param name="cpProductId">商品 ID</param>
  27. /// <param name="productName">游戏货币名(如元宝,金币)</param>
  28. /// <param name="notifyUrl">充值回调地址</param>
  29. /// <param name="serverId">用户角色所在服 id</param>
  30. /// <param name="serverName">用户角色所在服务器名</param>
  31. /// <param name="roleName">角色名字</param>
  32. /// <param name="roleId">角色 id</param>
  33. /// <param name="roleLevel">角色等级</param>
  34. /// <param name="vipLevel">Vip 等级</param>
  35. /// <param name="cpOrderId">研发订单号</param>
  36. /// <param name="balance">玩家余额</param>
  37. /// <param name="extra">透传参数字段(原样返回)</param>
  38. /// <param name="fighting">战力</param>
  39. public void Recharge(int amount, string cpProductId, string productName, string notifyUrl, string serverId,
  40. string serverName, string roleName, string roleId, string roleLevel,
  41. string vipLevel, string cpOrderId, string balance, string extra = "",
  42. string fighting = "")
  43. {
  44. // 构建支付参数
  45. var parameters = new Dictionary<string, object>
  46. {
  47. { "amount", amount },
  48. { "cpProductId", cpProductId },
  49. { "productName", productName },
  50. { "notifyUrl", notifyUrl },
  51. { "serverId", serverId },
  52. { "serverName", serverName },
  53. { "roleName", roleName },
  54. { "roleId", roleId },
  55. { "roleLevel", roleLevel },
  56. { "vipLevel", vipLevel },
  57. { "cpOrderId", cpOrderId },
  58. { "balance", balance },
  59. { "extra", extra },
  60. { "fighting", fighting }
  61. };
  62. string jsonParams = JsonUtility.ToJson(parameters);
  63. _eventHandler.CallJHRechargeAb(jsonParams);
  64. }
  65. /// <summary>
  66. /// 创建角色
  67. /// </summary>
  68. /// <param name="roleId">角色 id</param>
  69. /// <param name="roleName">角色名</param>
  70. /// <param name="roleLevel">角色等级</param>
  71. /// <param name="serverId">角色所在服 id</param>
  72. /// <param name="serverName">角色所在服名</param>
  73. /// <param name="vipLevel">角色 vip 等级</param>
  74. /// <param name="fighting">战力值 (若无传””)</param>
  75. /// <param name="balance">玩家余额</param>
  76. /// <param name="roleCTime">创角时间</param>
  77. public void CreateRole(string roleId, string roleName, int roleLevel, string serverId,
  78. string serverName, int vipLevel, string fighting, string balance,
  79. string roleCTime = "")
  80. {
  81. // 构建角色创建参数
  82. var parameters = new Dictionary<string, object>
  83. {
  84. { "roleId", roleId },
  85. { "roleName", roleName },
  86. { "roleLevel", roleLevel },
  87. { "serverId", serverId },
  88. { "serverName", serverName },
  89. { "vipLevel", vipLevel },
  90. { "fighting", fighting },
  91. { "balance", balance },
  92. { "roleCTime", roleCTime }
  93. };
  94. string jsonParams = JsonUtility.ToJson(parameters);
  95. _eventHandler.CallJHCreateRoleAb(jsonParams);
  96. }
  97. // 角色登录
  98. public void LoginRole(string roleId, string roleName, int roleLevel, string serverId,
  99. string serverName, int vipLevel, string fighting, string balance,
  100. string roleCTime = "")
  101. {
  102. // 构建角色登录参数
  103. var parameters = new Dictionary<string, object>
  104. {
  105. { "roleId", roleId },
  106. { "roleName", roleName },
  107. { "roleLevel", roleLevel },
  108. { "serverId", serverId },
  109. { "serverName", serverName },
  110. { "vipLevel", vipLevel },
  111. { "fighting", fighting },
  112. { "balance", balance },
  113. { "roleCTime", roleCTime }
  114. };
  115. // 调用JS的JHLoginRole函数
  116. string jsonParams = JsonUtility.ToJson(parameters);
  117. _eventHandler.CallJHLoginRoleAb(jsonParams);
  118. }
  119. // 角色升级
  120. public void UpgradeRole(string roleId, string roleName, int roleLevel, string serverId,
  121. string serverName, int vipLevel, string fighting, string balance,
  122. string roleCTime = "")
  123. {
  124. // 构建角色升级参数
  125. var parameters = new Dictionary<string, object>
  126. {
  127. { "roleId", roleId },
  128. { "roleName", roleName },
  129. { "roleLevel", roleLevel },
  130. { "serverId", serverId },
  131. { "serverName", serverName },
  132. { "vipLevel", vipLevel },
  133. { "fighting", fighting },
  134. { "balance", balance },
  135. { "roleCTime", roleCTime }
  136. };
  137. // 调用JS的JHUpgradeRole函数
  138. string jsonParams = JsonUtility.ToJson(parameters);
  139. _eventHandler.CallJHUpgradeRoleAb(jsonParams);
  140. }
  141. // 顶号处理
  142. public void RepeatLogin()
  143. {
  144. // 调用JS的JHRepeatLogin函数
  145. string jsonParams = JsonUtility.ToJson(new Dictionary<string, object>());
  146. _eventHandler.CallJHRepeatLoginAb(jsonParams);
  147. }
  148. // 备案跳转
  149. public void CallIcpBeian()
  150. {
  151. // 调用JS的JHCallIcpBeian函数
  152. string jsonParams = JsonUtility.ToJson(new Dictionary<string, object>());
  153. _eventHandler.CallJHCallIcpBeianAb(jsonParams);
  154. }
  155. public class JHGameSDKHandler : AbJHGameSDKHandler
  156. {
  157. /// <summary>
  158. /// 测试消息
  159. /// </summary>
  160. /// <param name="message"></param>
  161. public override void ReceiveMessageAb(string message)
  162. {
  163. Debug.Log($"ReceiveMessageAb:{message}");
  164. }
  165. //通知Unity准备支付
  166. public override void OnRechargeStartAb(string message)
  167. {
  168. Debug.Log($"OnRechargeStartAb:{message}");
  169. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeStartAb(message);
  170. }
  171. //支付完成后通知Unity
  172. public override void OnRechargeCompleteAb(string message)
  173. {
  174. Debug.Log($"OnRechargeCompleteAb:{message}");
  175. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeCompleteAb(message);
  176. }
  177. //支付错误
  178. public override void OnRechargeErrorAb(string message)
  179. {
  180. Debug.Log($"OnRechargeErrorAb:{message}");
  181. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeErrorAb(message);
  182. }
  183. //创建角色实例化完成
  184. public override void OnCreateRoleStartAb(string message)
  185. {
  186. Debug.Log($"OnCreateRoleStartAb:{message}");
  187. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleStartAb(message);
  188. }
  189. //创建角色结果
  190. public override void OnCreateRoleCompleteAb(string message)
  191. {
  192. Debug.Log($"OnCreateRoleCompleteAb:{message}");
  193. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleCompleteAb(message);
  194. }
  195. //创建角色错误
  196. public override void OnCreateRoleErrorAb(string message)
  197. {
  198. Debug.Log($"OnCreateRoleErrorAb:{message}");
  199. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleErrorAb(message);
  200. }
  201. //角色登录实例化完成
  202. public override void OnLoginRoleStartAb(string message)
  203. {
  204. Debug.Log($"OnLoginRoleStartAb:{message}");
  205. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleStartAb(message);
  206. }
  207. //角色登录结果
  208. public override void OnLoginRoleCompleteAb(string message)
  209. {
  210. Debug.Log($"OnLoginRoleCompleteAb:{message}");
  211. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleCompleteAb(message);
  212. }
  213. //角色登录错误
  214. public override void OnLoginRoleErrorAb(string message)
  215. {
  216. Debug.Log($"OnLoginRoleErrorAb:{message}");
  217. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleErrorAb(message);
  218. }
  219. //角色升级回调实例化完成
  220. public override void OnUpgradeRoleStartAb(string message)
  221. {
  222. Debug.Log($"OnUpgradeRoleStartAb:{message}");
  223. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleStartAb(message);
  224. }
  225. public override void OnUpgradeRoleCompleteAb(string message)
  226. {
  227. Debug.Log($"OnUpgradeRoleCompleteAb:{message}");
  228. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleCompleteAb(message);
  229. }
  230. public override void OnUpgradeRoleErrorAb(string message)
  231. {
  232. Debug.Log($"OnUpgradeRoleErrorAb:{message}");
  233. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleErrorAb(message);
  234. }
  235. //顶号
  236. public override void OnRepeatLoginStartAb(string message)
  237. {
  238. Debug.Log($"OnRepeatLoginStartAb:{message}");
  239. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginStartAb(message);
  240. }
  241. public override void OnRepeatLoginCompleteAb(string message)
  242. {
  243. Debug.Log($"OnRepeatLoginCompleteAb:{message}");
  244. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginCompleteAb(message);
  245. }
  246. public override void OnRepeatLoginErrorAb(string message)
  247. {
  248. Debug.Log($"OnRepeatLoginErrorAb:{message}");
  249. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginErrorAb(message);
  250. }
  251. public override void OnCallIcpBeianStartAb(string message)
  252. {
  253. Debug.Log($"OnCallIcpBeianStartAb:{message}");
  254. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianStartAb(message);
  255. }
  256. public override void OnCallIcpBeianCompleteAb(string message)
  257. {
  258. Debug.Log($"OnCallIcpBeianCompleteAb:{message}");
  259. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianCompleteAb(message);
  260. }
  261. public override void OnCallIcpBeianErrorAb(string message)
  262. {
  263. Debug.Log($"OnCallIcpBeianErrorAb:{message}");
  264. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianErrorAb(message);
  265. }
  266. public override void OnInitSDKParamsAb(string message)
  267. {
  268. Debug.Log($"OnInitSDKParamsAb:{message}");
  269. QDJHGameManagerInit.Instance._jhGameSDKListener?.OnInitSDKParamsAb(message);
  270. }
  271. }
  272. }
  273. /// <summary>
  274. /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值)
  275. /// </summary>
  276. public enum DouYouRoleLogReportType
  277. {
  278. /// <summary>
  279. /// 进入游戏
  280. /// </summary>
  281. EnterGame = 1,
  282. /// <summary>
  283. /// 创建角色
  284. /// </summary>
  285. CreateRole = 2,
  286. /// <summary>
  287. /// 角色升级
  288. /// </summary>
  289. LevelUp = 3,
  290. /// <summary>
  291. /// 退出
  292. /// </summary>
  293. ExitGame = 4,
  294. /// <summary>
  295. /// 充值
  296. /// </summary>
  297. Pay = 5
  298. }
  299. }