using System; using UnityEngine; public class NBSDKAndroid : SDKBase { [Serializable] public class NBGameRoleInfo { public string serverId; public string serverName; public string roleId; public string roleName; public string roleLevel; public string roleCreateTime; public string cpUid; } AndroidJavaClass act; private NBGameRoleInfo mNBGameRoleInfo = null; private AndroidJavaObject actObj; private NBSDKCBListener nBSDKCBListener; //ISDKCallBack sdkCB; //public string SDKName = ; public NBSDKAndroid() { act = new AndroidJavaClass("com.unity3d.player.UnityPlayer"); actObj = act.GetStatic("currentActivity"); nBSDKCBListener = SDKMgr.Instance.gameObject.AddComponent(); SDKName = "SDKNB"; } //畅梦的初始化在sdk的oncreat中 public override void Init() { base.Init(); int tempInit = GetNBInited(); if (tempInit == 1) { nBSDKCBListener.OnInitSuccess(); } else if (tempInit == 2) { nBSDKCBListener.OnInitFailed(); } } //private void AddCBListener(ISDKCallBack sdkcb) //{ // SDKEventUtil.AddListener(SDKCBEnum.EXIT_SUCCESS_CB, sdkcb.ExitSuccessCB); // SDKEventUtil.AddListener(SDKCBEnum.INIT_FAILED_CB, sdkcb.InitFailedCB); // SDKEventUtil.AddListener(SDKCBEnum.INIT_SUCCESS_CB, sdkcb.InitSuccessCB); // SDKEventUtil.AddListener(SDKCBEnum.LOGIN_FAILED_CB, sdkcb.LoginFailedCB); // SDKEventUtil.AddListener(SDKCBEnum.LOGIN_SUCCESS_CB, sdkcb.LoginSucessCB); // SDKEventUtil.AddListener(SDKCBEnum.LOGOUT_SUCCESS_CB, sdkcb.LogoutSuccessCB); // SDKEventUtil.AddListener(SDKCBEnum.PAY_FAILED_CB, sdkcb.PayFailedCB); // SDKEventUtil.AddListener(SDKCBEnum.PAY_SUCCESS_CB, sdkcb.PaySuccessCB); //} //private void RemoveCBListener(ISDKCallBack sdkcb) //{ // SDKEventUtil.RemoveListener(SDKCBEnum.EXIT_SUCCESS_CB, sdkcb.ExitSuccessCB); // SDKEventUtil.RemoveListener(SDKCBEnum.INIT_FAILED_CB, sdkcb.InitFailedCB); // SDKEventUtil.RemoveListener(SDKCBEnum.INIT_SUCCESS_CB, sdkcb.InitSuccessCB); // SDKEventUtil.RemoveListener(SDKCBEnum.LOGIN_FAILED_CB, sdkcb.LoginFailedCB); // SDKEventUtil.RemoveListener(SDKCBEnum.LOGIN_SUCCESS_CB, sdkcb.LoginSucessCB); // SDKEventUtil.RemoveListener(SDKCBEnum.LOGOUT_SUCCESS_CB, sdkcb.LogoutSuccessCB); // SDKEventUtil.RemoveListener(SDKCBEnum.PAY_FAILED_CB, sdkcb.PayFailedCB); // SDKEventUtil.RemoveListener(SDKCBEnum.PAY_SUCCESS_CB, sdkcb.PaySuccessCB); //} public int GetNBInited() { return actObj.GetStatic("initedState"); } public override void Login() { Call("login"); } public override void CreateRole() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!"); return; } if (mNBGameRoleInfo == null) { mNBGameRoleInfo = new NBGameRoleInfo(); } mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString(); mNBGameRoleInfo.serverName = gameRoleInfo.serverName; mNBGameRoleInfo.roleId = gameRoleInfo.roleId; mNBGameRoleInfo.roleName = gameRoleInfo.roleName; mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString(); mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString(); mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString(); //Debug.Log("进入创角" + param); Call("creatRole", JsonUtility.ToJson(mNBGameRoleInfo)); } public override void EnterGame() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[NBSDK][EnterGame] GameRoleInfo is null or not valid !!!"); return; } if (mNBGameRoleInfo == null) { mNBGameRoleInfo = new NBGameRoleInfo(); } mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString(); mNBGameRoleInfo.serverName = gameRoleInfo.serverName; mNBGameRoleInfo.roleId = gameRoleInfo.roleId; mNBGameRoleInfo.roleName = gameRoleInfo.roleName; mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString(); mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString(); mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString(); //Debug.Log("进入游戏" + param); Call("enterGame", JsonUtility.ToJson(mNBGameRoleInfo)); } public override void UpdateRoleLv() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[NTSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!"); return; } if (mNBGameRoleInfo == null) { mNBGameRoleInfo = new NBGameRoleInfo(); } mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString(); mNBGameRoleInfo.serverName = gameRoleInfo.serverName; mNBGameRoleInfo.roleId = gameRoleInfo.roleId; mNBGameRoleInfo.roleName = gameRoleInfo.roleName; mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString(); mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString(); mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString(); Call("updateRoleLevel", JsonUtility.ToJson(mNBGameRoleInfo)); } public override void ExitGame() { GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo(); if (gameRoleInfo == null || !gameRoleInfo.Valid()) { Debug.LogError("[NTSDK][ExitGame] GameRoleInfo is null or not valid !!!"); return; } if (mNBGameRoleInfo == null) { mNBGameRoleInfo = new NBGameRoleInfo(); } mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString(); mNBGameRoleInfo.serverName = gameRoleInfo.serverName; mNBGameRoleInfo.roleId = gameRoleInfo.roleId; mNBGameRoleInfo.roleName = gameRoleInfo.roleName; mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString(); mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString(); mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString(); } public override bool Exit() { Call("exit"); return false; } public override bool Quit() { return false; } public override void Logout() { Call("logout"); } public override void Pay(int goodsId, string goodsName, string goodsDesc, int count, float amount, string cpOrderId, string extrasParams) { OrderInfo nbOrderInfo = new OrderInfo(); nbOrderInfo.goodsId = goodsId.ToString(); nbOrderInfo.goodsName = goodsName; nbOrderInfo.goodsDesc = goodsDesc; nbOrderInfo.goodsNum = count.ToString(); nbOrderInfo.orderAmount = (amount*100).ToString(); nbOrderInfo.cpOrderId = cpOrderId; nbOrderInfo.cpExtra = extrasParams; Call("pay", JsonUtility.ToJson(nbOrderInfo)); } public override void SwitchAccount() { Call("switchAccount"); } private void Call(string funcName, params object[] args) { try { if (actObj != null) actObj.Call(funcName, args); } catch (System.Exception e) { Debug.LogWarning(e.Message); } } public override void CallInitSuccessCB() { nBSDKCBListener.OnInitSuccess(); } public override void CallLoginSuccessCB() { nBSDKCBListener.OnLoginSuccess(nBSDKCBListener.paramss); } }