2d7b21ea-d527-46a3-8021-e8afbd635b0e.js 6.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203
  1. "use strict";
  2. cc._RF.push(module, '2d7b2Hq1SdGo4Ah6K+9Y1sO', 'GameSDK');
  3. // common-plugin/Scripts/GameSDK.js
  4. "use strict";
  5. (function () {
  6. var GameSDK = window.GameSDK = {
  7. // CallBack
  8. callBacks: {},
  9. // Internal -- Call Native
  10. callNative: function callNative(cmd, param) {
  11. param = param == null ? "" : JSON.stringify(param);
  12. var rt = loadRuntime();
  13. rt.callCustomCommand({
  14. success: function success(msg) {
  15. console.log('success:', msg);
  16. },
  17. fail: function fail(msg) {
  18. console.log('fail:', msg);
  19. }
  20. }, cmd, param);
  21. },
  22. nativeCallback: function nativeCallback(cmd, param) {
  23. var func = this.callBacks[cmd];
  24. if (func) {
  25. func(JSON.parse(param));
  26. }
  27. },
  28. registerCallback: function registerCallback(cmd, func) {
  29. this.callBacks[cmd] = func;
  30. },
  31. // 设置回调函数
  32. setOnInitCB: function setOnInitCB(func) {
  33. this.registerCallback("onInit", func);
  34. },
  35. setOnRoomInfoCB: function setOnRoomInfoCB(func) {
  36. this.registerCallback("onRoomInfo", func);
  37. },
  38. setOnReadyCB: function setOnReadyCB(func) {
  39. this.registerCallback("onReady", func);
  40. },
  41. setOnStartCB: function setOnStartCB(func) {
  42. this.registerCallback("onStart", func);
  43. },
  44. setOnMessageCB: function setOnMessageCB(func) {
  45. this.registerCallback("onMessage", func);
  46. },
  47. setOnFinishCB: function setOnFinishCB(func) {
  48. this.registerCallback("onFinish", func);
  49. },
  50. setOnAudioCB: function setOnAudioCB(func) {
  51. this.registerCallback("onAudio", func);
  52. },
  53. setOnResumeCB: function setOnResumeCB(func) {
  54. this.registerCallback("onResume", func);
  55. },
  56. setOnPauseCB: function setOnPauseCB(func) {
  57. this.registerCallback("onPause", func);
  58. },
  59. setOnPayCB: function setOnPayCB(func) {
  60. this.registerCallback("onPay", func);
  61. },
  62. // 初始化SDK
  63. // 参数:
  64. // gameId: int 游戏ID
  65. init: function init(gameId) {
  66. var param = {
  67. "gameId": gameId
  68. };
  69. this.callNative("init", param);
  70. },
  71. // 退出游戏
  72. // 参数:
  73. // reason: int 退出原因: 1 - 正常退出,2-异常退出
  74. quit: function quit(reason) {
  75. var param = {
  76. "reason": reason
  77. };
  78. this.callNative("quit", param);
  79. },
  80. // 获取游戏房间信息
  81. getRoomInfo: function getRoomInfo() {
  82. this.callNative("getRoomInfo");
  83. },
  84. // 游戏终止
  85. // 参数:
  86. // result: int 游戏结果: 1、胜,2、负,3、平
  87. finish: function finish(result) {
  88. var param = {
  89. "result": result
  90. };
  91. this.callNative("finish", param);
  92. },
  93. // 设置屏幕朝向
  94. // 参数:
  95. // orientation: int 屏幕朝向: 0、横屏,1、竖屏
  96. setOrientation: function setOrientation(orientation) {
  97. var param = {
  98. "orientation": orientation
  99. };
  100. this.callNative("setOrientation", param);
  101. },
  102. // 设置声音
  103. // 参数:
  104. // enable: int 是否开启: 0、关闭,1、开启
  105. // volume: int 音量
  106. setAudio: function setAudio(enable, volume) {
  107. var param = {
  108. "enable": enable,
  109. "volume": volume
  110. };
  111. this.callNative("setAudio", param);
  112. },
  113. // 设置麦克风
  114. // 参数:
  115. // enable: int 是否开启: 0、关闭,1、开启
  116. // volume: int 音量: 0 ~ 100
  117. setMic: function setMic(enable, volume) {
  118. var param = {
  119. "enable": enable,
  120. "volume": volume
  121. };
  122. this.callNative("setMic", param);
  123. },
  124. // 设置游戏加载进度(SDK版本 >= 2)
  125. // 参数:
  126. // progress: int 加载进度: 0 ~ 100
  127. // 说明: 从SDK版本2开始,平台增加了统一的游戏加载进度界面,用于游戏后台加载时显示。
  128. // 游戏需要在初始化后,通过此函数报告游戏加载进度。加载界面将显示“加载中...”
  129. // 当进度>=100%时,加载界面并不会关闭,加载界面将提醒用户“等待对手进入中...”
  130. // 因此,游戏需要在对手都进入房间后,调用hideLoadProgress函数关闭加载界面。
  131. setLoadProgress: function setLoadProgress(progress) {
  132. var param = {
  133. "progress": progress
  134. };
  135. this.callNative("setLoadProgress", param);
  136. },
  137. // 隐藏游戏加载进度(SDK版本 >= 2)
  138. // 参数:
  139. // 无
  140. // 说明: 用于关闭加载进度界面。此后玩家才可以和游戏交互。
  141. hideLoadProgress: function hideLoadProgress() {
  142. var param = {};
  143. this.callNative("hideLoadProgress", param);
  144. },
  145. // 游戏准备
  146. // 参数
  147. // userData: string 用户数据
  148. ready: function ready(userData) {
  149. var param = {
  150. "userData": userData
  151. };
  152. this.callNative("ready", param);
  153. },
  154. // 游戏消息广播
  155. // 参数
  156. // message: string 广播的消息
  157. // includeMe: int 是否也广播给自己: 0、不包含,1、包含
  158. broadcast: function broadcast(message, includeMe) {
  159. if (includeMe == null) {
  160. includeMe = 0;
  161. }
  162. var param = {
  163. "message": message,
  164. "includeMe": includeMe
  165. };
  166. this.callNative("broadcast", param);
  167. },
  168. // 游戏结束
  169. // 参数
  170. // result: int 游戏结果: 1、胜,2、负,3、平
  171. gameOver: function gameOver(result) {
  172. var param = {
  173. "result": result
  174. };
  175. this.callNative("gameOver", param);
  176. },
  177. // 游戏支付
  178. // 参数
  179. // orderId: int 订单号
  180. // goodsName: string 商品名称
  181. // goodsDesc: string 商品描述
  182. // orderAmount: int 订单金额
  183. // extension: string 透传参数
  184. // notifyURL: string 支付付款通知地址
  185. pay: function pay(orderId, goodsName, goodsDesc, orderAmount, extension, notifyURL) {
  186. var param = {
  187. "orderId": orderId,
  188. "goodsName": goodsName,
  189. "goodsDesc": goodsDesc,
  190. "orderAmount": orderAmount,
  191. "extension": extension,
  192. "notifyURL": notifyURL
  193. };
  194. this.callNative("pay", param);
  195. }
  196. };
  197. })();
  198. cc._RF.pop();