using System; using System.Collections.Generic; using cfg.GfgCfg; using ET; using UnityEngine; using GFGGame.Launcher; namespace GFGGame { public class QDJGameManager : SingletonBase { public bool isLogining; public string uid; public string token; public string UserId; public string UserName; public string Uuid; public string Sign; public string Timestamp; public string CpExt; public void Init() { QDJHGameManagerInit.Instance._jhGameSDKListener = new JHGameSDKListener(); string url = Application.absoluteURL; if (LauncherConfig.IsTest) { string testUid =1912269241.ToString(); url = $"https://webgltest.goufuguiwxw.com/?user_id={testUid}&user_name=12241433259×tamp=175074382&sign=88cc86dd40f78dfbbfe46add3e8eaa9dac3ba8&cp_ext=&partner=platform"; } Debug.Log($"unity init 2 absoluteURL:{url}"); Dictionary sdkParams = WebUrlUtil.ParseSDKParamsFromUrl(url); UserId = sdkParams.TryGetValue("user_id", out object userId) ? userId.ToString() : null; UserName = sdkParams.TryGetValue("user_name", out object userName) ? userName.ToString() : null; Uuid = sdkParams.TryGetValue("uuid", out object uuid) ? uuid.ToString() : null; Sign = sdkParams.TryGetValue("sign", out object sign) ? sign.ToString() : null; Timestamp = sdkParams.TryGetValue("timestamp", out object timestamp) ? timestamp.ToString() : null; CpExt = sdkParams.TryGetValue("cp_ext", out object cpExt) ? cpExt.ToString() : null; Debug.Log($"unity init absoluteURL end."); } public void OnCreateRole() { //改名上报给sdk var zoneSceneDev = GameGlobal.zoneScene; if (zoneSceneDev == null) return; if (zoneSceneDev.GetComponent() == null || zoneSceneDev.GetComponent().IsDisposed) return; var roleInfoDev = zoneSceneDev.GetComponent().GetCurrentRole(); if (roleInfoDev == null) return; if (GameGlobal.myNumericComponent == null) return; int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); if (zoneSceneDev.GetComponent() == null) return; if (zoneSceneDev.GetComponent().recentlyServerInfo == null) return; long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE); string serverNameDev = zoneSceneDev.GetComponent().recentlyServerInfo.ServerName; QDJHGameManagerInit.Instance.CreateRole(roleInfoDev.Id.ToString(), roleInfoDev.Name, lvlDev, zoneSceneDev.GetComponent().CurrentServerId.ToString(), serverNameDev, vipLvl, "", itemNum.ToString(), roleInfoDev.CreateTime.ToString()); } public void OnEnterGame() { var zoneSceneDev = GameGlobal.zoneScene; if (zoneSceneDev == null) return; if (zoneSceneDev.GetComponent() == null || zoneSceneDev.GetComponent().IsDisposed) return; var roleInfoDev = zoneSceneDev.GetComponent().GetCurrentRole(); if (roleInfoDev == null) return; if (GameGlobal.myNumericComponent == null) return; int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); if (zoneSceneDev.GetComponent() == null) return; if (zoneSceneDev.GetComponent().recentlyServerInfo == null) return; long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE); string serverNameDev = zoneSceneDev.GetComponent().recentlyServerInfo.ServerName; QDJHGameManagerInit.Instance.LoginRole(roleInfoDev.Id.ToString(), roleInfoDev.Name, lvlDev, zoneSceneDev.GetComponent().CurrentServerId.ToString(), serverNameDev, vipLvl, "", itemNum.ToString(), roleInfoDev.CreateTime.ToString()); } public void UpgradeRole() { var zoneSceneDev = GameGlobal.zoneScene; if (zoneSceneDev == null) return; if (zoneSceneDev.GetComponent() == null || zoneSceneDev.GetComponent().IsDisposed) return; var roleInfoDev = zoneSceneDev.GetComponent().GetCurrentRole(); if (roleInfoDev == null) return; if (GameGlobal.myNumericComponent == null) return; int lvlDev = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); int vipLvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); if (zoneSceneDev.GetComponent() == null) return; if (zoneSceneDev.GetComponent().recentlyServerInfo == null) return; long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE); string serverNameDev = zoneSceneDev.GetComponent().recentlyServerInfo.ServerName; QDJHGameManagerInit.Instance.UpgradeRole(roleInfoDev.Id.ToString(), roleInfoDev.Name, lvlDev, zoneSceneDev.GetComponent().CurrentServerId.ToString(), serverNameDev, vipLvl, "", itemNum.ToString(), roleInfoDev.CreateTime.ToString()); } public void Pay(int buyID, string orderID, long price) { ShopCfg shopCfg = CommonDataManager.Tables.TblShopCfg.GetOrDefault(buyID); if (shopCfg == null) { Log.Error($"recharge {buyID} config not found!"); return; } ItemCfg itemCfg = CommonDataManager.Tables.TblItemCfg.GetOrDefault(shopCfg.ItemId); if (itemCfg == null) { Log.Error($"recharge {buyID} itemCfgId:{shopCfg.ItemId} config not found!"); return; } var zoneScene = GameGlobal.zoneScene; if (zoneScene == null) return; if (zoneScene.GetComponent() == null || zoneScene.GetComponent().IsDisposed) return; var roleInfo = zoneScene.GetComponent().GetCurrentRole(); if (roleInfo == null) return; if (GameGlobal.myNumericComponent == null) return; int lvl = GameGlobal.myNumericComponent.GetAsInt(NumericType.Lvl); int vipLevel = GameGlobal.myNumericComponent.GetAsInt(NumericType.VipLevel); if (zoneScene.GetComponent() == null) return; if (zoneScene.GetComponent().recentlyServerInfo == null) return; string serverName = zoneScene.GetComponent().recentlyServerInfo.ServerName; long itemNum = ItemDataManager.GetItemNum(ConstItemID.DIAMOND_PURPLE); //自定义参数 string other = orderID + "|gfg|" + roleInfo.Id; QDJHGameManagerInit.Instance.Recharge(Convert.ToInt32(price * 100), buyID.ToString(), shopCfg.ItemName, LauncherConfig.rechargeAddress, roleInfo.ServerId.ToString(), serverName, roleInfo.Name, roleInfo.Id.ToString(), lvl.ToString(), vipLevel.ToString(), orderID, itemNum.ToString(), other, ""); } } /// /// SDK回调 /// public class JHGameSDKListener : IJHGameSDKListener { //通知Unity准备支付 public void OnRechargeStartAb(string message) { } //支付完成后通知Unity public void OnRechargeCompleteAb(string message) { Debug.Log("Game.HotUpdate OnRechargeCompleteAb" + message); } //支付错误 public void OnRechargeErrorAb(string message) { Debug.Log("Game.HotUpdate PayFailAb: " + message); } //创建角色实例化完成 public void OnCreateRoleStartAb(string message) { } //创建角色结果 public void OnCreateRoleCompleteAb(string message) { } //创建角色错误 public void OnCreateRoleErrorAb(string message) { } //角色登录实例化完成 public void OnLoginRoleStartAb(string message) { } //角色登录结果 public void OnLoginRoleCompleteAb(string message) { } //角色登录错误 public void OnLoginRoleErrorAb(string message) { } //角色升级回调实例化完成 public void OnUpgradeRoleStartAb(string message) { } public void OnUpgradeRoleCompleteAb(string message) { } public void OnUpgradeRoleErrorAb(string message) { } //顶号 public void OnRepeatLoginStartAb(string message) { } public void OnRepeatLoginCompleteAb(string message) { } public void OnRepeatLoginErrorAb(string message) { } public void OnCallIcpBeianStartAb(string message) { } public void OnCallIcpBeianCompleteAb(string message) { } public void OnCallIcpBeianErrorAb(string message) { } public void OnInitSDKParamsAb(string message) { } /// /// 切换账号或退出登录后 /// /// 退出登录成功! public void OutLoginSuccessAb(string message) { Debug.Log("Game.HotUpdate OutLoginSuccessAb: " + message); GameController.QuitToLoginView(true); EventAgent.DispatchEvent(ConstMessage.OUT_LOGIN); } /// /// 支付失败 /// /// code + "|gfg|" + params.toString() public void PayFailAb(string message) { Debug.Log("Game.HotUpdate PayFailAb: " + message); //改变临时订单状态为失败 } /// /// 支付成功 /// /// code + "|gfg|" + params.toString() public void PaySuccessAb(string message) { Debug.Log("Game.HotUpdate PaySuccessAb" + message); } } }