using System; using System.Collections; using System.Collections.Generic; using UnityEngine; using quicksdk; public class YouYiSDKAndroid : SDKBase { private YouYiListener m_YouYiListener; private QuickSDK qksdk; public YouYiSDKAndroid() { m_YouYiListener = SDKMgr.Instance.gameObject.AddComponent(); m_YouYiListener.InitListenter(); qksdk = QuickSDK.getInstance(); qksdk.setListener(m_YouYiListener); #if UNITY_IOS SDKName = "Quick_IOS"; #elif UNITY_ANDROID SDKName = "Quick_Android"; #else SDKName = "Quick_PC"; #endif } public override void Init() { base.Init(); if (qksdk != null) { qksdk.init(); } else { m_YouYiListener.OnInitFailed(); } } public override void Login() { if (qksdk != null) { //m_AJO.Call("login"); qksdk.login(); } else { m_YouYiListener.OnLoginFailed(); } } public override void Logout() { if (qksdk != null) { // m_AJO.Call("switchAccountLogin"); qksdk.logout(); } } public override void SwitchAccount() { if (qksdk != null) { //m_AJO.Call("switchAccountLogin"); } } public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams) { if (qksdk != null) { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo != null) { quicksdk.GameRoleInfo gameRole = GetGameRoleInfo(); string[] datas = goodsName.Split('|',StringSplitOptions.RemoveEmptyEntries); string gname = ""; string gid = ""; string url = ""; if (datas.Length == 1) { gid = goodsId.ToString(); gname = $"{amount}_商品"; url = goodsName; } else if(datas.Length == 3) { gid = datas[0]; gname = datas[1]; url = datas[2]; } quicksdk.OrderInfo order = new quicksdk.OrderInfo() { goodsID = gid,//------------ goodsName = gname,//------------ goodsDesc = goodsDesc, count = count, amount = amount, cpOrderID = cpOrderId, callbackUrl = url, extrasParams = extrasParams }; qksdk.pay(order,gameRole); } // m_AJO.Call("pay", cpOrderId, amount.ToString(), goodsId.ToString(), goodsName, gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, extrasParams); else m_YouYiListener.OnPayFailed(); } else { m_YouYiListener.OnPayFailed(); } } public override void CreateRole() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YouYiSDK][CreateRole] GameRoleInfo is null or not valid !!!"); return; } if (qksdk != null) { quicksdk.GameRoleInfo gameRole = GetGameRoleInfo(); qksdk.createRole(gameRole); // m_AJO.Call("createRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString()); } } private quicksdk.GameRoleInfo GetGameRoleInfo() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); quicksdk.GameRoleInfo gameRole = new quicksdk.GameRoleInfo() { serverName = gameRoleInfo.serverName, serverID = gameRoleInfo.serverId.ToString(), gameRoleName = gameRoleInfo.roleName, gameRoleID = gameRoleInfo.roleId, vipLevel = gameRoleInfo.vipLv.ToString(), gameRoleLevel = gameRoleInfo.roleLv.ToString(), partyName = gameRoleInfo.guildName, roleCreateTime = gameRoleInfo.roleCreateTime.ToString(), gameRoleBalance = gameRoleInfo.balance, gameRoleGender = gameRoleInfo.gender.ToString(), gameRolePower = gameRoleInfo.fightPower.ToString(), //partyId = gameRoleInfo.guildId.ToString(), professionId = gameRoleInfo.jobId.ToString(), profession = gameRoleInfo.jobName, //partyRoleId = gameRoleInfo.id //partyRoleName friendlist = "无" }; return gameRole; } public override void EnterGame() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YouYiSDK][EnterGame] GameRoleInfo is null or not valid !!!"); return; } if (qksdk != null) { quicksdk.GameRoleInfo gameRole = GetGameRoleInfo(); qksdk.enterGame(gameRole); //m_AJO.Call("loginRoleLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString()); } } public override void UpdateRoleLv() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[YouYiSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!"); return; } if (qksdk != null) { quicksdk.GameRoleInfo gameRole = GetGameRoleInfo(); qksdk.updateRole(gameRole); //m_AJO.Call("levelLog", gameRoleInfo.roleId.ToString(), gameRoleInfo.roleName, gameRoleInfo.serverId.ToString(), gameRoleInfo.serverName, gameRoleInfo.roleLv, gameRoleInfo.openServerTime.ToString()); } } public override void ExitGame() { //qksdk.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(); } }