using System; using ET; using UnityEngine; using GFGGame.Launcher; namespace GFGGame { public class QDDouYouManager : SingletonBase { public bool isLogining; public string uid; public string token; public void Init() { Debug.Log("实例化DouYouSDKListener"); QDDouYouManagerInit.Instance.douYouSDKListener = new DouYouSDKListener(); } public void Login() { // if (!string.IsNullOrEmpty(uid)) // { // EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, uid); // return; // } // if (isLogining) return; // Debug.Log($"quick Login"); // isLogining = true; QDDouYouManagerInit.Instance.ShowLogin(); } public void OnCreateRole() { QDManager.PushRoleAction(DouYouRoleLogReportType.CreateRole); } public void OnEnterGame() { 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); if (zoneScene.GetComponent() == null) return; if (zoneScene.GetComponent().recentlyServerInfo == null) return; string serverName = zoneScene.GetComponent().recentlyServerInfo.ServerName; QDDouYouManagerInit.Instance.ReportRoleLogin(roleInfo.Id.ToString(), lvl.ToString(), roleInfo.Name, roleInfo.ServerId.ToString(), serverName); QDManager.PushRoleAction(DouYouRoleLogReportType.EnterGame); } public void OnQuitToLoginView() { Debug.Log($"DouYou OnQuitToLoginView"); } public void Logout() { Debug.Log($"Game.HotUpdate DouYou Logout"); QDDouYouManagerInit.Instance.ShowLogout(); } public void LoginOutBefore() { QDManager.PushRoleAction(DouYouRoleLogReportType.ExitGame); } public void Pay(int buyID, int count, string orderID, long price) { ShopCfg shopCfg = ShopCfgArray.Instance.GetCfg(buyID); if (shopCfg == null) { Log.Error($"recharge {buyID} config not found!"); return; } ItemCfg itemCfg = ItemCfgArray.Instance.GetCfg(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); if (zoneScene.GetComponent() == null) return; if (zoneScene.GetComponent().recentlyServerInfo == null) return; string serverName = zoneScene.GetComponent().recentlyServerInfo.ServerName; //自定义参数 string other = orderID + "|gfg|" + roleInfo.Id; QDDouYouManagerInit.Instance.ShowSwitchPayment(orderID, price.ToString(), buyID.ToString(), shopCfg.itemName, string.Empty, roleInfo.ServerId.ToString(), serverName, roleInfo.Id.ToString(), roleInfo.Name, lvl.ToString(), other); } public void Exit() { QDManager.PushRoleAction(DouYouRoleLogReportType.ExitGame); QDDouYouManagerInit.Instance.ExitApp(); } } /// /// SDK回调 /// public class DouYouSDKListener : IDouYouSDKListener { // /// // /// 测试消息 // /// // /// // public void ReceiveMessageAb(string message) // { // Debug.Log($"Game.HotUpdate ReceiveMessageAb:{message}"); // } /// /// SDK实例化成功 /// /// SDK 实例化成功 public void InitSuccessAb(string message) { Debug.Log("Game.HotUpdate InitSuccessAb: " + message); } /// /// 登录成功 /// /// resUid + "|gfg|" + token public void LoginSuccessAb(string message) { Debug.Log("Game.HotUpdate LoginSuccessAb: " + message); string[] result = message.Split(new string[] { "|gfg|" }, StringSplitOptions.None); QDDouYouManager.Instance.isLogining = false; QDDouYouManager.Instance.uid = result[0]; QDDouYouManager.Instance.token = result[1]; //登录成功的回调 EventAgent.DispatchEvent(ConstMessage.ON_PLATFORM_SDK_LOGINED, result[0]); } /// /// 切换账号或退出登录后 /// /// 退出登录成功! 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); //改变临时订单状态为支付成功 QDManager.PushRoleAction(DouYouRoleLogReportType.Pay); } #region SDK 生命周期函数 public void SdkOnStartAb(string message) { Debug.Log($"Game.HotUpdate SdkOnStartAb:{message}"); } public void SdkOnPauseAb(string message) { Debug.Log($"Game.HotUpdate SdkOnPauseAb:{message}"); } public void SdkOnResumeAb(string message) { Debug.Log($"Game.HotUpdate SdkOnResumeAb:{message}"); } public void SdkOnStopAb(string message) { Debug.Log($"Game.HotUpdate SdkOnStopAb:{message}"); } public void SdkOnDestroyAb(string message) { Debug.Log($"Game.HotUpdate SdkOnDestroyAb:{message}"); } public void SdkOnRestartAb(string message) { Debug.Log($"Game.HotUpdate SdkOnRestartAb:{message}"); } public void SdkOnBackPressedAb(string message) { Debug.Log($"Game.HotUpdate SdkOnBackPressedAb:{message}"); } public void SdkOnNewIntentAb(string message) { Debug.Log($"Game.HotUpdate SdkOnNewIntentAb:{message}"); } public void SdkOnConfigurationChangedAb(string message) { Debug.Log($"Game.HotUpdate SdkOnConfigurationChangedAb:{message}"); } public void SdkOnSaveInstanceStateAb(string message) { Debug.Log($"Game.HotUpdate SdkOnSaveInstanceStateAb:{message}"); } public void SdkOnActivityResultAb(string message) { Debug.Log($"Game.HotUpdate SdkOnActivityResultAb:{message}"); } public void SdkOnRequestPermissionResultAb(string message) { Debug.Log($"Game.HotUpdate SdkOnRequestPermissionResultAb:{message}"); } public void SdkOnWindowFocusChangedAb(string message) { Debug.Log($"Game.HotUpdate SdkOnWindowFocusChangedAb:{message}"); } #endregion } }