#if UNITY_IOS using System.Runtime.InteropServices; using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.InteropServices; using quicksdk; public class YouYiSDKiOS : SDKBase { private YouYiListener m_YouYiListener; public QKGame qKGamesdk; private LoginKitListener qkListenter; public YouYiSDKiOS() { SDKName = "SDKYOUYI_IOS"; m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent(); qkListenter = SDKMgr.Instance.gameObject.AddComponent(); qKGamesdk = new QKGame(); //YouYi_SetCallbackGoName(SDKMgr.Instance.gameObject.name); qkListenter.InitListener(m_YouYiListener); qKGamesdk.loginKitSetListener(qkListenter); } public override void Init() { base.Init(); //YouYi_Init(); if (QKGame.InitState == QKSDKInitState.Success) { CallInitSuccessCB(); return; } QKGame.txQKInit(); } public override void OnApplicationFocus(bool focusStatus) { base.OnApplicationFocus(focusStatus); } public override void Login() { //YouYi_Login(); QKGame.txQKLogin(true); } public override void Logout() { //YouYi_Logout(); QKGame.txQKLogout(); } public override void SwitchAccount() { //YouYi_SwitchAccount(); } public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams) { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); string key = amount.ToString("f2"); ProductInfo info; qKGamesdk.ProductInfos.TryGetValue(key, out info); if (gameRoleInfo == null || !gameRoleInfo.Valid() || info == null) { Debug.LogError("[YISDK][Pay] GameRoleInfo is null or not valid !!!"); m_YouYiListener.OnPayFailed(); return; } //YouYi_Pay(cpOrderId, goodsId.ToString(), goodsName, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, amount.ToString(), extrasParams); Debug.Log($"=========================={info.ID}======={info.Name}"); QKGame.txQKCongzi(info.ID, info.Name, amount.ToString(), cpOrderId, goodsName, extrasParams); } public override void CreateRole() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YISDK][CreateRole] GameRoleInfo is null or not valid !!!"); return; } //YouYi_CreateRoleReportData(gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.openServerTime.ToString()); QKGame.txQKSetRoleInfo(gameRoleInfo.serverName,gameRoleInfo.serverId.ToString(),gameRoleInfo.roleId.ToString(),gameRoleInfo.roleName,gameRoleInfo.roleLv.ToString(),"0"); } public override void EnterGame() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YISDK][EnterGame] GameRoleInfo is null or not valid !!!"); return; } QKGame.txQKSetRoleInfo(gameRoleInfo.serverName, gameRoleInfo.serverId.ToString(), gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), "0"); //YouYi_RoleEnterGameReportData(gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.openServerTime.ToString()); } public override void UpdateRoleLv() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YISDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!"); return; } QKGame.txQKSetRoleInfo(gameRoleInfo.serverName, gameRoleInfo.serverId.ToString(), gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), "0"); //YouYi_RoleUpLevelReportData(gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.roleLv.ToString(), gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.openServerTime.ToString()); } public override void ExitGame() { } public override bool Exit() { return false; } public override bool Quit() { return false; } public override void CallInitSuccessCB() { m_YouYiListener.OnInitSuccess(); } public override void CallLoginSuccessCB() { m_YouYiListener.StartCheckLogin(); } //[DllImport("__Internal")] //private static extern void YouYi_SetCallbackGoName(string callbackGoName); //[DllImport("__Internal")] //private static extern void YouYi_Init(); //[DllImport("__Internal")] //private static extern void YouYi_Login(); //[DllImport("__Internal")] //private static extern void YouYi_Logout(); //[DllImport("__Internal")] //private static extern void YouYi_SwitchAccount(); //[DllImport("__Internal")] //private static extern void YouYi_Pay(string cpOrderId, string goodsId, string goodsName, string roleId, string roleName, string roleLevel, string serverId, string serverName, string amount, string extrasParams); //[DllImport("__Internal")] //private static extern void YouYi_CreateRoleReportData(string roleId, string roleName, string roleLevel, string serverId, string serverName, string serverStartTime); //[DllImport("__Internal")] //private static extern void YouYi_RoleEnterGameReportData(string roleId, string roleName, string roleLevel, string serverId, string serverName, string serverStartTime); //[DllImport("__Internal")] //private static extern void YouYi_RoleUpLevelReportData(string roleId, string roleName, string roleLevel, string serverId, string serverName, string serverStartTime); } #endif