UnitySDK集成

This commit is contained in:
fatiao 2026-01-27 16:33:56 +08:00
parent 5952ba3a63
commit 253d2a6d71
10 changed files with 153 additions and 6 deletions

View File

@ -79,7 +79,8 @@ public partial class SDKMgr : MonoBehaviour
// sdk = new NTSDKAndroid();
// sdk.Init(listener, "SDKUni");
#elif (UNITY_ANDROID || UNITY_IOS)
sdk = new UnitySDK();
#else
var types = Assembly.GetExecutingAssembly().GetTypes();

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: d71e253125c04ccd8b27cabd93a182b6
timeCreated: 1769489907

View File

@ -0,0 +1,77 @@
public class UnitySDK: SDKBase
{
public UnitySDKCBListener mListener;
public UnitySDK()
{
mListener = SDKMgr.Instance.gameObject.AddComponent<UnitySDKCBListener>();
SDKName = "Unity";
}
public override void Init()
{
base.Init();
mListener.InitSuccessCB(null);
}
public override void Login()
{
mListener.LoginSucessCB(null);
}
public override void Logout()
{
throw new System.NotImplementedException();
}
public override void SwitchAccount()
{
}
public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId,
string extrasParams)
{
}
public override void CreateRole()
{
}
public override void EnterGame()
{
}
public override void UpdateRoleLv()
{
}
public override void ExitGame()
{
}
public override bool Exit()
{
return true;
}
public override bool Quit()
{
return true;
}
public override void CallInitSuccessCB()
{
}
public override void CallLoginSuccessCB()
{
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: 7ff1d394698a46fbb3d41cf8b2fffe2c
timeCreated: 1769489925

View File

@ -0,0 +1,54 @@
using UnityEngine;
public class UnitySDKCBListener:MonoBehaviour
{
public void ExitSuccessCB(object arg)
{
throw new System.NotImplementedException();
}
public void InitFailedCB(object arg)
{
throw new System.NotImplementedException();
}
public void InitSuccessCB(object arg)
{
SDKMgr.Instance.SetInited(true);
Debug.Log("UnitySDK 控制器回调成功");
//EventMgr.DispatchEvent<bool, string>(new CoreEvent<bool, string>(ECoreEventType.EID_SDK_INIT_RESULT, true, SDKMgr.Instance.GetSDKName()));
SDKEventUtil.SendMessage(SDKCBEnum.INIT_SUCCESS_CB);
}
public void LoginFailedCB(object arg)
{
throw new System.NotImplementedException();
}
public void LoginSucessCB(object arg)
{
SDKMgr.Instance.SetLogined(true);
//EventMgr.DispatchEvent<bool, UserInfo>(new CoreEvent<bool, UserInfo>(ECoreEventType.EID_SDK_LOGIN_RESULT_NEW, true, null));
//SDKEventUtil.SendMessage(SDKCBEnum.LOGIN_SUCCESS_CB, null);
}
public void LogoutSuccessCB(object arg)
{
throw new System.NotImplementedException();
}
public void NTCB(object arg)
{
throw new System.NotImplementedException();
}
public void PayFailedCB(object arg)
{
throw new System.NotImplementedException();
}
public void PaySuccessCB(object arg)
{
throw new System.NotImplementedException();
}
}

View File

@ -0,0 +1,3 @@
fileFormatVersion: 2
guid: abb925f5c8e94a3999deb0779d735366
timeCreated: 1769490616

View File

@ -263,6 +263,7 @@ public class NetworkMgr : Singleton<NetworkMgr>
//todo 处理心跳消息的发送
if (gameSrv.CanSendPing()) SendPing();
//DebugHelper.LogError("NetworkMgr mHeartAckWaitNum = " + mHeartAckWaitNum);
}
gameSrv.HandleSending();
@ -278,6 +279,7 @@ public class NetworkMgr : Singleton<NetworkMgr>
}
if (mHeartAckWaitNum > 3)
{
//DebugHelper.LogError("NetworkMgr mHeartAckWaitNum > 3");
mHeartAckWaitNum = 0;
// 累计多次心跳未收到回包,说明链接到达不了服务器,断开链接, 并进入重连机制
if (gameSrv != null) {

View File

@ -99,7 +99,7 @@ public class SocketConn
iHandler.OnConnect();
}
}
#if !(UNITY_WEBGL || UNITY_IOS || UNITY_ANDROID) || UNITY_EDITOR
#if !(UNITY_WEBGL || UNITY_IOS || UNITY_ANDROID || UNITY_EDITOR)
try
{
//检测网络是否出错
@ -220,7 +220,7 @@ public class SocketConn
String newServerIp = "";
AddressFamily newAddressFamily = AddressFamily.InterNetwork;
#if UNITY_WEBGL
#if (UNITY_WEBGL || UNITY_IOS || UNITY_ANDROID)
#else
if (!IPv6SupportMidleware.GetValidServerIpInfo(mLastIP, out newServerIp, out newAddressFamily))
{

View File

@ -581,13 +581,13 @@ public class AssetsMgr : SingletonMono<AssetsMgr>
path = string.Format("{0}assetsmapping.bytes", FileSystem.LocalPackagePath);
#endif
}
#if !UNITY_WEBGL
#if !(UNITY_WEBGL || UNITY_IOS || UNITY_ANDROID)
if (!path.Contains("file://"))
{
path = "file://" + path;
}
#else
path = string.Format("{0}assetsmapping.bytes", FileSystem.RemotePackagePaht);
//path = string.Format("{0}assetsmapping.bytes", FileSystem.RemotePackagePaht);
#endif
WWW www = new WWW(path);
yield return www;

View File

@ -240,7 +240,11 @@ public class GameMgr : SingletonMono<GameMgr>
#if UNITY_EDITOR
// test weixin minigame openid:
//onComplete.Invoke("{\n\"openid\":\"oUEz364FbD3Qtus574MJ_KA7vCaA\",\n\"session_key\":\"xxxxx\",\n\"unionid\":\"xxxxx\",\n\"errcode\":0,\n\"errmsg\":\"xxxxx\"\n}");
onComplete.Invoke("{\n\"openid\":\"pc-101018\",\n\"session_key\":\"xxxxx10\",\n\"unionid\":\"xxxxx10\",\n\"errcode\":0,\n\"errmsg\":\"xxxxx\"\n}");
onComplete.Invoke("{\n\"openid\":\"pc-101020\",\n\"session_key\":\"xxxxx10\",\n\"unionid\":\"xxxxx10\",\n\"errcode\":0,\n\"errmsg\":\"xxxxx\"\n}");
yield break;
#elif (UNITY_IOS || UNITY_ANDROID)
// call sdk here
onComplete.Invoke("{\n\"openid\":\"android-102\",\n\"session_key\":\"xxxxx12\",\n\"unionid\":\"xxxxx12\",\n\"errcode\":0,\n\"errmsg\":\"xxxxx\"\n}");
yield break;
#else
#if PLATFORM_WEIXINMINIGAME