QKSDKAndroid.cs 8.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. using quicksdk;
  2. using System;
  3. using UnityEngine;
  4. public class QKSDKAndroid : SDKBase
  5. {
  6. AndroidJavaClass act;
  7. private AndroidJavaObject actObj;
  8. private QKSDKCBListener qkSDKCBListener;
  9. quicksdk.GameRoleInfo gameRoleInfo2;
  10. //ISDKCallBack sdkCB;
  11. //public string SDKName = ;
  12. public QKSDKAndroid()
  13. {
  14. qkSDKCBListener = SDKMgr.Instance.gameObject.AddComponent<QKSDKCBListener>();
  15. SDKName = "SDKQuick";
  16. }
  17. //畅梦的初始化在sdk的oncreat中
  18. public override void Init()
  19. {
  20. base.Init();
  21. if (!SDKMgr.Instance.GetInited())
  22. {
  23. QuickSDK.getInstance().setListener(qkSDKCBListener);
  24. }
  25. if (GetSDKInited()<0)
  26. {
  27. QuickSDK.getInstance().init();
  28. }
  29. }
  30. public override void Login()
  31. {
  32. QuickSDK.getInstance().login();
  33. }
  34. public override void CreateRole()
  35. {
  36. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  37. gameRoleInfo2 = new quicksdk.GameRoleInfo();
  38. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  39. {
  40. Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!");
  41. return;
  42. }
  43. gameRoleInfo2.gameRoleBalance = gameRoleInfo.balance;
  44. gameRoleInfo2.gameRoleID = gameRoleInfo.roleId;
  45. gameRoleInfo2.gameRoleLevel = gameRoleInfo.roleLv.ToString();
  46. gameRoleInfo2.gameRoleName = gameRoleInfo.roleName;
  47. gameRoleInfo2.partyName = gameRoleInfo.guildName;
  48. gameRoleInfo2.serverID = gameRoleInfo.serverId.ToString();
  49. gameRoleInfo2.serverName = gameRoleInfo.serverName;
  50. gameRoleInfo2.vipLevel = gameRoleInfo.vipLv.ToString();
  51. gameRoleInfo2.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();//UC,当乐与1881渠道必传,值为10位数时间戳
  52. gameRoleInfo2.gameRoleGender = gameRoleInfo.gender.ToString();//360渠道参数
  53. gameRoleInfo2.gameRolePower = gameRoleInfo.fightPower.ToString();//360渠道参数,设置角色战力,必须为整型字符串
  54. gameRoleInfo2.partyId = gameRoleInfo.guildId.ToString();//360渠道参数,设置帮派id,必须为整型字符串
  55. gameRoleInfo2.professionId = gameRoleInfo.jobId.ToString();//360渠道参数,设置角色职业id,必须为整型字符串
  56. gameRoleInfo2.profession = gameRoleInfo.jobName;//360渠道参数,设置角色职业名称
  57. gameRoleInfo2.partyRoleId = gameRoleInfo.roleId.ToString();//360渠道参数,设置角色在帮派中的id
  58. gameRoleInfo2.partyRoleName = gameRoleInfo.roleName; //360渠道参数,设置角色在帮派中的名称
  59. gameRoleInfo2.friendlist = "无";//360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
  60. QuickSDK.getInstance().createRole(gameRoleInfo2);
  61. }
  62. public override void EnterGame()
  63. {
  64. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  65. gameRoleInfo2 = new quicksdk.GameRoleInfo();
  66. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  67. {
  68. Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!");
  69. return;
  70. }
  71. gameRoleInfo2.gameRoleBalance = gameRoleInfo.balance;
  72. gameRoleInfo2.gameRoleID = gameRoleInfo.roleId;
  73. gameRoleInfo2.gameRoleLevel = gameRoleInfo.roleLv.ToString();
  74. gameRoleInfo2.gameRoleName = gameRoleInfo.roleName;
  75. gameRoleInfo2.partyName = gameRoleInfo.guildName;
  76. gameRoleInfo2.serverID = gameRoleInfo.serverId.ToString();
  77. gameRoleInfo2.serverName = gameRoleInfo.serverName;
  78. gameRoleInfo2.vipLevel = gameRoleInfo.vipLv.ToString();
  79. gameRoleInfo2.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();//UC,当乐与1881渠道必传,值为10位数时间戳
  80. gameRoleInfo2.gameRoleGender = gameRoleInfo.gender.ToString();//360渠道参数
  81. gameRoleInfo2.gameRolePower = gameRoleInfo.fightPower.ToString();//360渠道参数,设置角色战力,必须为整型字符串
  82. gameRoleInfo2.partyId = gameRoleInfo.guildId.ToString();//360渠道参数,设置帮派id,必须为整型字符串
  83. gameRoleInfo2.professionId = gameRoleInfo.jobId.ToString();//360渠道参数,设置角色职业id,必须为整型字符串
  84. gameRoleInfo2.profession = gameRoleInfo.jobName;//360渠道参数,设置角色职业名称
  85. gameRoleInfo2.partyRoleId = gameRoleInfo.roleId.ToString();//360渠道参数,设置角色在帮派中的id
  86. gameRoleInfo2.partyRoleName = gameRoleInfo.roleName; //360渠道参数,设置角色在帮派中的名称
  87. gameRoleInfo2.friendlist = "无";//360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
  88. QuickSDK.getInstance().enterGame(gameRoleInfo2);
  89. }
  90. public override void UpdateRoleLv()
  91. {
  92. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  93. gameRoleInfo2 = new quicksdk.GameRoleInfo();
  94. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  95. {
  96. Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!");
  97. return;
  98. }
  99. gameRoleInfo2.gameRoleBalance = gameRoleInfo.balance;
  100. gameRoleInfo2.gameRoleID = gameRoleInfo.roleId;
  101. gameRoleInfo2.gameRoleLevel = gameRoleInfo.roleLv.ToString();
  102. gameRoleInfo2.gameRoleName = gameRoleInfo.roleName;
  103. gameRoleInfo2.partyName = gameRoleInfo.guildName;
  104. gameRoleInfo2.serverID = gameRoleInfo.serverId.ToString();
  105. gameRoleInfo2.serverName = gameRoleInfo.serverName;
  106. gameRoleInfo2.vipLevel = gameRoleInfo.vipLv.ToString();
  107. gameRoleInfo2.roleCreateTime = gameRoleInfo.roleCreateTime.ToString();//UC,当乐与1881渠道必传,值为10位数时间戳
  108. gameRoleInfo2.gameRoleGender = gameRoleInfo.gender.ToString();//360渠道参数
  109. gameRoleInfo2.gameRolePower = gameRoleInfo.fightPower.ToString();//360渠道参数,设置角色战力,必须为整型字符串
  110. gameRoleInfo2.partyId = gameRoleInfo.guildId.ToString();//360渠道参数,设置帮派id,必须为整型字符串
  111. gameRoleInfo2.professionId = gameRoleInfo.jobId.ToString();//360渠道参数,设置角色职业id,必须为整型字符串
  112. gameRoleInfo2.profession = gameRoleInfo.jobName;//360渠道参数,设置角色职业名称
  113. gameRoleInfo2.partyRoleId = gameRoleInfo.roleId.ToString();//360渠道参数,设置角色在帮派中的id
  114. gameRoleInfo2.partyRoleName = gameRoleInfo.roleName; //360渠道参数,设置角色在帮派中的名称
  115. gameRoleInfo2.friendlist = "无";//360渠道参数,设置好友关系列表,格式请参考:http://open.quicksdk.net/help/detail/aid/190
  116. QuickSDK.getInstance().updateRole(gameRoleInfo2);
  117. }
  118. public override void ExitGame()
  119. {
  120. GameRoleInfo gameRoleInfo = SDKMgr.Instance.GetGameRoleInfo();
  121. if (gameRoleInfo == null || !gameRoleInfo.Valid())
  122. {
  123. Debug.LogError("[NBSDK][CreateRole] GameRoleInfo is null or not valid !!!");
  124. return;
  125. }
  126. }
  127. public override bool Exit()
  128. {
  129. if (QuickSDK.getInstance().isChannelHasExitDialog()) return false;
  130. QuickSDK.getInstance().exit();
  131. return true;
  132. }
  133. public override bool Quit()
  134. {
  135. QuickSDK.getInstance().exitGame();
  136. return true;
  137. }
  138. public override void Logout()
  139. {
  140. QuickSDK.getInstance().logout();
  141. }
  142. public override void Pay(int goodsId, string goodsName, string goodsDesc,
  143. int count, float amount,
  144. string cpOrderId, string extrasParams)
  145. {
  146. quicksdk.OrderInfo orderInfo = new quicksdk.OrderInfo();
  147. orderInfo.goodsID = goodsId.ToString();
  148. orderInfo.goodsName = goodsName;
  149. //orderInfo.amount = amount;
  150. orderInfo.count = count;
  151. orderInfo.cpOrderID = cpOrderId;
  152. orderInfo.extrasParams = extrasParams;
  153. double a = floatToDouble(amount);
  154. orderInfo.amount = a;
  155. orderInfo.price = a; //
  156. orderInfo.quantifier = "个"; //
  157. orderInfo.goodsDesc = goodsDesc; //
  158. QuickSDK.getInstance().pay(orderInfo, gameRoleInfo2);
  159. }
  160. private double floatToDouble(float a)
  161. {
  162. int decimalVal = 1000;
  163. int tempVal = Mathf.FloorToInt((a + 0.0005f) * decimalVal);
  164. return (double)tempVal / decimalVal;
  165. }
  166. public override void SwitchAccount()
  167. {
  168. //Call("switchAccount");
  169. }
  170. public override void CallInitSuccessCB ()
  171. {
  172. qkSDKCBListener.onInitSuccess();
  173. }
  174. public override void CallLoginSuccessCB()
  175. {
  176. qkSDKCBListener.onLoginSuccess(qkSDKCBListener.userInfos);
  177. }
  178. /// <summary>
  179. /// 获取sdk中初始化状态,0为默认,1为成功,-1为失败
  180. /// </summary>
  181. /// <returns></returns>
  182. public int GetSDKInited()
  183. {
  184. return QuickSDK.getInstance().getInited();
  185. }
  186. public override bool CheckHasModul(SDKModulType needCheckModulType)
  187. {
  188. if (needCheckModulType == SDKModulType.EXIT_VIEW)
  189. {
  190. return QuickSDK.getInstance().isChannelHasExitDialog();
  191. }
  192. return base.CheckHasModul(needCheckModulType);
  193. }
  194. public override void OpenModul(SDKModulType sDKModulType)
  195. {
  196. if (sDKModulType == SDKModulType.EXIT_VIEW)
  197. {
  198. QuickSDK.getInstance().exit();
  199. return;
  200. }
  201. base.OpenModul(sDKModulType);
  202. }
  203. }