NBSDKAndroid.cs 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. using System;
  2. using UnityEngine;
  3. public class NBSDKAndroid : SDKBase
  4. {
  5. [Serializable]
  6. public class NBGameRoleInfo
  7. {
  8. public string serverId;
  9. public string serverName;
  10. public string roleId;
  11. public string roleName;
  12. public string roleLevel;
  13. public string roleCreateTime;
  14. public string cpUid;
  15. }
  16. AndroidJavaClass act;
  17. private NBGameRoleInfo mNBGameRoleInfo = null;
  18. private AndroidJavaObject actObj;
  19. private NBSDKCBListener nBSDKCBListener;
  20. //ISDKCallBack sdkCB;
  21. //public string SDKName = ;
  22. public NBSDKAndroid()
  23. {
  24. act = new AndroidJavaClass("com.unity3d.player.UnityPlayer");
  25. actObj = act.GetStatic<AndroidJavaObject>("currentActivity");
  26. nBSDKCBListener = SDKMgr.Instance.gameObject.AddComponent<NBSDKCBListener>();
  27. SDKName = "SDKNB";
  28. }
  29. //畅梦的初始化在sdk的oncreat中
  30. public override void Init()
  31. {
  32. base.Init();
  33. int tempInit = GetNBInited();
  34. if (tempInit == 1)
  35. {
  36. nBSDKCBListener.OnInitSuccess();
  37. }
  38. else if (tempInit == 2)
  39. {
  40. nBSDKCBListener.OnInitFailed();
  41. }
  42. }
  43. //private void AddCBListener(ISDKCallBack sdkcb)
  44. //{
  45. // SDKEventUtil.AddListener(SDKCBEnum.EXIT_SUCCESS_CB, sdkcb.ExitSuccessCB);
  46. // SDKEventUtil.AddListener(SDKCBEnum.INIT_FAILED_CB, sdkcb.InitFailedCB);
  47. // SDKEventUtil.AddListener(SDKCBEnum.INIT_SUCCESS_CB, sdkcb.InitSuccessCB);
  48. // SDKEventUtil.AddListener(SDKCBEnum.LOGIN_FAILED_CB, sdkcb.LoginFailedCB);
  49. // SDKEventUtil.AddListener(SDKCBEnum.LOGIN_SUCCESS_CB, sdkcb.LoginSucessCB);
  50. // SDKEventUtil.AddListener(SDKCBEnum.LOGOUT_SUCCESS_CB, sdkcb.LogoutSuccessCB);
  51. // SDKEventUtil.AddListener(SDKCBEnum.PAY_FAILED_CB, sdkcb.PayFailedCB);
  52. // SDKEventUtil.AddListener(SDKCBEnum.PAY_SUCCESS_CB, sdkcb.PaySuccessCB);
  53. //}
  54. //private void RemoveCBListener(ISDKCallBack sdkcb)
  55. //{
  56. // SDKEventUtil.RemoveListener(SDKCBEnum.EXIT_SUCCESS_CB, sdkcb.ExitSuccessCB);
  57. // SDKEventUtil.RemoveListener(SDKCBEnum.INIT_FAILED_CB, sdkcb.InitFailedCB);
  58. // SDKEventUtil.RemoveListener(SDKCBEnum.INIT_SUCCESS_CB, sdkcb.InitSuccessCB);
  59. // SDKEventUtil.RemoveListener(SDKCBEnum.LOGIN_FAILED_CB, sdkcb.LoginFailedCB);
  60. // SDKEventUtil.RemoveListener(SDKCBEnum.LOGIN_SUCCESS_CB, sdkcb.LoginSucessCB);
  61. // SDKEventUtil.RemoveListener(SDKCBEnum.LOGOUT_SUCCESS_CB, sdkcb.LogoutSuccessCB);
  62. // SDKEventUtil.RemoveListener(SDKCBEnum.PAY_FAILED_CB, sdkcb.PayFailedCB);
  63. // SDKEventUtil.RemoveListener(SDKCBEnum.PAY_SUCCESS_CB, sdkcb.PaySuccessCB);
  64. //}
  65. public int GetNBInited()
  66. {
  67. return actObj.GetStatic<int>("initedState");
  68. }
  69. public override void Login()
  70. {
  71. Call("login");
  72. }
  73. public override void CreateRole()
  74. {
  75. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  76. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  77. {
  78. Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!");
  79. return;
  80. }
  81. if (mNBGameRoleInfo == null)
  82. {
  83. mNBGameRoleInfo = new NBGameRoleInfo();
  84. }
  85. mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString();
  86. mNBGameRoleInfo.serverName = gameRoleInfo.serverName;
  87. mNBGameRoleInfo.roleId = gameRoleInfo.roleId;
  88. mNBGameRoleInfo.roleName = gameRoleInfo.roleName;
  89. mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString();
  90. mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();
  91. mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString();
  92. //Debug.Log("进入创角" + param);
  93. Call("creatRole", JsonUtility.ToJson(mNBGameRoleInfo));
  94. }
  95. public override void EnterGame()
  96. {
  97. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  98. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  99. {
  100. Debug.LogError("[NBSDK][EnterGame] GameRoleInfo is null or not valid !!!");
  101. return;
  102. }
  103. if (mNBGameRoleInfo == null)
  104. {
  105. mNBGameRoleInfo = new NBGameRoleInfo();
  106. }
  107. mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString();
  108. mNBGameRoleInfo.serverName = gameRoleInfo.serverName;
  109. mNBGameRoleInfo.roleId = gameRoleInfo.roleId;
  110. mNBGameRoleInfo.roleName = gameRoleInfo.roleName;
  111. mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString();
  112. mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();
  113. mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString();
  114. //Debug.Log("进入游戏" + param);
  115. Call("enterGame", JsonUtility.ToJson(mNBGameRoleInfo));
  116. }
  117. public override void UpdateRoleLv()
  118. {
  119. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  120. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  121. {
  122. Debug.LogError("[NTSDK][UpdateRoleLv] GameRoleInfo is null or not valid !!!");
  123. return;
  124. }
  125. if (mNBGameRoleInfo == null)
  126. {
  127. mNBGameRoleInfo = new NBGameRoleInfo();
  128. }
  129. mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString();
  130. mNBGameRoleInfo.serverName = gameRoleInfo.serverName;
  131. mNBGameRoleInfo.roleId = gameRoleInfo.roleId;
  132. mNBGameRoleInfo.roleName = gameRoleInfo.roleName;
  133. mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString();
  134. mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();
  135. mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString();
  136. Call("updateRoleLevel", JsonUtility.ToJson(mNBGameRoleInfo));
  137. }
  138. public override void ExitGame()
  139. {
  140. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  141. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  142. {
  143. Debug.LogError("[NTSDK][ExitGame] GameRoleInfo is null or not valid !!!");
  144. return;
  145. }
  146. if (mNBGameRoleInfo == null)
  147. {
  148. mNBGameRoleInfo = new NBGameRoleInfo();
  149. }
  150. mNBGameRoleInfo.serverId = gameRoleInfo.serverId.ToString();
  151. mNBGameRoleInfo.serverName = gameRoleInfo.serverName;
  152. mNBGameRoleInfo.roleId = gameRoleInfo.roleId;
  153. mNBGameRoleInfo.roleName = gameRoleInfo.roleName;
  154. mNBGameRoleInfo.roleLevel = gameRoleInfo.roleLv.ToString();
  155. mNBGameRoleInfo.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();
  156. mNBGameRoleInfo.cpUid = gameRoleInfo.roleId.ToString();
  157. }
  158. public override bool Exit()
  159. {
  160. Call("exit");
  161. return false;
  162. }
  163. public override bool Quit()
  164. {
  165. return false;
  166. }
  167. public override void Logout()
  168. {
  169. Call("logout");
  170. }
  171. public override void Pay(int goodsId, string goodsName, string goodsDesc,
  172. int count, float amount,
  173. string cpOrderId, string extrasParams)
  174. {
  175. OrderInfo nbOrderInfo = new OrderInfo();
  176. nbOrderInfo.goodsId = goodsId.ToString();
  177. nbOrderInfo.goodsName = goodsName;
  178. nbOrderInfo.goodsDesc = goodsDesc;
  179. nbOrderInfo.goodsNum = count.ToString();
  180. nbOrderInfo.orderAmount = (amount*100).ToString();
  181. nbOrderInfo.cpOrderId = cpOrderId;
  182. nbOrderInfo.cpExtra = extrasParams;
  183. Call("pay", JsonUtility.ToJson(nbOrderInfo));
  184. }
  185. public override void SwitchAccount()
  186. {
  187. Call("switchAccount");
  188. }
  189. private void Call(string funcName, params object[] args)
  190. {
  191. try
  192. {
  193. if (actObj != null)
  194. actObj.Call(funcName, args);
  195. }
  196. catch (System.Exception e)
  197. {
  198. Debug.LogWarning(e.Message);
  199. }
  200. }
  201. public override void CallInitSuccessCB()
  202. {
  203. nBSDKCBListener.OnInitSuccess();
  204. }
  205. public override void CallLoginSuccessCB()
  206. {
  207. nBSDKCBListener.OnLoginSuccess(nBSDKCBListener.paramss);
  208. }
  209. }