using System.Collections.Generic; using JHGameSDK; using UnityEngine; namespace GFGGame.Launcher { public class QDJHGameManagerInit : SingletonBase { public IJHGameSDKListener _jhGameSDKListener; public JHGameSDKHandler _eventHandler; // SDK 参数 public void InitSDK() { _eventHandler = GameObject.Find("JHGameSDKGameObject")?.GetComponent(); if (_eventHandler == null) { GameObject gameObject = new GameObject("JHGameSDKGameObject"); gameObject.AddComponent(); GameObject.DontDestroyOnLoad(gameObject); _eventHandler = GameObject.Find("JHGameSDKGameObject")?.GetComponent(); } } /// /// 支付相关 /// /// 充值金额 单位为分 /// 商品 ID /// 游戏货币名(如元宝,金币) /// 充值回调地址 /// 用户角色所在服 id /// 用户角色所在服务器名 /// 角色名字 /// 角色 id /// 角色等级 /// Vip 等级 /// 研发订单号 /// 玩家余额 /// 透传参数字段(原样返回) /// 战力 public void Recharge(int amount, string cpProductId, string productName, string notifyUrl, string serverId, string serverName, string roleName, string roleId, string roleLevel, string vipLevel, string cpOrderId, string balance, string extra = "", string fighting = "") { PaymentParams paymentParams = new PaymentParams(); paymentParams.amount = amount; paymentParams.cpProductId = cpProductId; paymentParams.productName = productName; paymentParams.notifyUrl = notifyUrl; paymentParams.serverId = serverId; paymentParams.serverName = serverName; paymentParams.roleName = roleName; paymentParams.roleId = roleId; paymentParams.roleLevel = roleLevel; paymentParams.vipLevel = vipLevel; paymentParams.cpOrderId = cpOrderId; paymentParams.balance = balance; paymentParams.extra = extra; paymentParams.fighting = fighting; string jsonParams = JsonUtility.ToJson(paymentParams); if (!LauncherConfig.IsTest) { _eventHandler.CallJHRechargeAb(jsonParams); } } /// /// 创建角色 /// /// 角色 id /// 角色名 /// 角色等级 /// 角色所在服 id /// 角色所在服名 /// 角色 vip 等级 /// 战力值 (若无传””) /// 玩家余额 /// 创角时间 public void CreateRole(string roleId, string roleName, int roleLevel, string serverId, string serverName, int vipLevel, string fighting, string balance, string roleCTime = "") { // 构建角色创建参数(使用 [Serializable] 类) RoleCreateParams parameters = new RoleCreateParams { roleId = roleId, roleName = roleName, roleLevel = roleLevel, serverId = serverId, serverName = serverName, vipLevel = vipLevel, fighting = fighting, balance = balance, roleCTime = roleCTime // 默认空字符串 }; string jsonParams = JsonUtility.ToJson(parameters); if (!LauncherConfig.IsTest) { _eventHandler.CallJHCreateRoleAb(jsonParams); } } // 角色登录 public void LoginRole(string roleId, string roleName, int roleLevel, string serverId, string serverName, int vipLevel, string fighting, string balance, string roleCTime = "") { // 构建角色登录参数 RoleLoginParams parameters = new RoleLoginParams { roleId = roleId, roleName = roleName, roleLevel = roleLevel, serverId = serverId, serverName = serverName, vipLevel = vipLevel, fighting = fighting, balance = balance, roleCTime = roleCTime // 默认空字符串 }; // 调用JS的JHLoginRole函数 string jsonParams = JsonUtility.ToJson(parameters); if (!LauncherConfig.IsTest) { _eventHandler.CallJHLoginRoleAb(jsonParams); } } // 角色升级 public void UpgradeRole(string roleId, string roleName, int roleLevel, string serverId, string serverName, int vipLevel, string fighting, string balance, string roleCTime = "") { // 构建角色升级参数(使用 [Serializable] 类) RoleUpgradeParams parameters = new RoleUpgradeParams { roleId = roleId, roleName = roleName, roleLevel = roleLevel, serverId = serverId, serverName = serverName, vipLevel = vipLevel, fighting = fighting, balance = balance, roleCTime = roleCTime // 默认空字符串 }; // 调用JS的JHUpgradeRole函数 string jsonParams = JsonUtility.ToJson(parameters); if (!LauncherConfig.IsTest) { _eventHandler.CallJHUpgradeRoleAb(jsonParams); } } // 顶号处理 public void RepeatLogin() { // 调用JS的JHRepeatLogin函数 string jsonParams = JsonUtility.ToJson(new Dictionary()); if (!LauncherConfig.IsTest) { _eventHandler.CallJHRepeatLoginAb(jsonParams); } } // 备案跳转 public void CallIcpBeian() { // 调用JS的JHCallIcpBeian函数 string jsonParams = JsonUtility.ToJson(new Dictionary()); if (!LauncherConfig.IsTest) { _eventHandler.CallJHCallIcpBeianAb(jsonParams); } } public class JHGameSDKHandler : AbJHGameSDKHandler { /// /// 测试消息 /// /// public override void ReceiveMessageAb(string message) { Debug.Log($"ReceiveMessageAb:{message}"); } //通知Unity准备支付 public override void OnRechargeStartAb(string message) { Debug.Log($"OnRechargeStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeStartAb(message); } //支付完成后通知Unity public override void OnRechargeCompleteAb(string message) { Debug.Log($"OnRechargeCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeCompleteAb(message); } //支付错误 public override void OnRechargeErrorAb(string message) { Debug.Log($"OnRechargeErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRechargeErrorAb(message); } //创建角色实例化完成 public override void OnCreateRoleStartAb(string message) { Debug.Log($"OnCreateRoleStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleStartAb(message); } //创建角色结果 public override void OnCreateRoleCompleteAb(string message) { Debug.Log($"OnCreateRoleCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleCompleteAb(message); } //创建角色错误 public override void OnCreateRoleErrorAb(string message) { Debug.Log($"OnCreateRoleErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCreateRoleErrorAb(message); } //角色登录实例化完成 public override void OnLoginRoleStartAb(string message) { Debug.Log($"OnLoginRoleStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleStartAb(message); } //角色登录结果 public override void OnLoginRoleCompleteAb(string message) { Debug.Log($"OnLoginRoleCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleCompleteAb(message); } //角色登录错误 public override void OnLoginRoleErrorAb(string message) { Debug.Log($"OnLoginRoleErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnLoginRoleErrorAb(message); } //角色升级回调实例化完成 public override void OnUpgradeRoleStartAb(string message) { Debug.Log($"OnUpgradeRoleStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleStartAb(message); } public override void OnUpgradeRoleCompleteAb(string message) { Debug.Log($"OnUpgradeRoleCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleCompleteAb(message); } public override void OnUpgradeRoleErrorAb(string message) { Debug.Log($"OnUpgradeRoleErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnUpgradeRoleErrorAb(message); } //顶号 public override void OnRepeatLoginStartAb(string message) { Debug.Log($"OnRepeatLoginStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginStartAb(message); } public override void OnRepeatLoginCompleteAb(string message) { Debug.Log($"OnRepeatLoginCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginCompleteAb(message); } public override void OnRepeatLoginErrorAb(string message) { Debug.Log($"OnRepeatLoginErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnRepeatLoginErrorAb(message); } public override void OnCallIcpBeianStartAb(string message) { Debug.Log($"OnCallIcpBeianStartAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianStartAb(message); } public override void OnCallIcpBeianCompleteAb(string message) { Debug.Log($"OnCallIcpBeianCompleteAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianCompleteAb(message); } public override void OnCallIcpBeianErrorAb(string message) { Debug.Log($"OnCallIcpBeianErrorAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnCallIcpBeianErrorAb(message); } public override void OnInitSDKParamsAb(string message) { Debug.Log($"OnInitSDKParamsAb:{message}"); QDJHGameManagerInit.Instance._jhGameSDKListener?.OnInitSDKParamsAb(message); } } } /// /// 场景(1 - 进入游戏、2 - 创建角色、3 - 角色升级、4 - 退出、5 - 充值) /// public enum DouYouRoleLogReportType { /// /// 进入游戏 /// EnterGame = 1, /// /// 创建角色 /// CreateRole = 2, /// /// 角色升级 /// LevelUp = 3, /// /// 退出 /// ExitGame = 4, /// /// 充值 /// Pay = 5 } }