IOSPlatformSDK.h 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197
  1. //
  2. // IOSPlatformSDK.h
  3. // OYGameSKD
  4. //
  5. // Created by leon on 2021/1/21.
  6. // Copyright © 2021 Oujia. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. #import "MYFactoryManager.h"
  11. @interface IOSPlatformSDK : NSObject
  12. //****************** public Method ******************//
  13. +(instancetype)sharedInstance;
  14. -(void)startWithUrl:(NSURL*)url;
  15. @property(strong,nonatomic)NSString * openStyle;//测试数据 监听app的打开方式
  16. //****************** ios call unity start ******************//
  17. /**
  18. * cusid:主/副设备
  19. * left:左鞋动作代码
  20. * right:右鞋动作代码
  21. */
  22. -(void)bridgingMotionAction:(int)cusid
  23. left:(int)left
  24. right:(int)right;
  25. /**
  26. * 踏步状态,频率
  27. * cusid:主/副设备
  28. * leftStatus:左鞋步频(0:停止, 1:慢,2:快)
  29. * rightStatus:右鞋步频(0:停止, 1:慢,2:快)
  30. * leftFrag:左鞋步数
  31. * rightFrag:左鞋步数
  32. */
  33. -(void)bridgingStepAction:(int)cusid
  34. leftStatus:(int)leftStatus
  35. rightStatus:(int)rightStatus
  36. leftFrag:(int)leftFrag
  37. rightFrag:(int)rightFrag;
  38. /**
  39. * 返回蓝牙设备的基本信息,用于界面上显示当前的设备状况,, app 跳转的时候传过来的
  40. * cusid:主/副设备
  41. * name:蓝牙设备名称
  42. * address:蓝牙设备mac地址
  43. * status:链接状态
  44. * electricity:蓝牙设备电量 取值范围[0 - 100] 对比左右鞋 handler较低的电量
  45. */
  46. -(void)bridgingDeviceAction:(int)cusid
  47. name:(NSString*)name
  48. address:(NSString*)address
  49. status:(int)status
  50. electricity:(int)electricity;
  51. /**
  52. *游戏首页交互动作的回调
  53. * cusid: 主副设备
  54. * code: 交互代码
  55. */
  56. -(void)bridgingInteraction:(int)cusid
  57. code:(int)code;
  58. /**
  59. *趣动通知好友邀请事件
  60. * code:
  61. * userChar:
  62. * infoChar:
  63. */
  64. -(void)bridgingInvite:(int)code
  65. userChar:(const char *)userChar
  66. infoChar:(const char *)infoChar;
  67. @end
  68. //****************** unity call ios start ******************//
  69. /**
  70. * 游戏开始
  71. */
  72. extern "C" {
  73. extern void GameStart();
  74. }
  75. /**
  76. * 游戏结束
  77. * level: level
  78. * score: score
  79. * record: record
  80. * mode: mode
  81. * opponentId: opponentId
  82. */
  83. extern "C" {
  84. extern void GameEnd(int level, double score, int record, int mode, int opponentId);
  85. }
  86. /**
  87. * 搜索设备
  88. * type: 设备ID
  89. */
  90. extern "C" {
  91. extern void SearchDevice(int type);
  92. }
  93. /**
  94. * 链接设备
  95. * type: 设备ID
  96. */
  97. extern "C" {
  98. extern void ConnectDevice(int type);
  99. }
  100. /**
  101. * 震动
  102. * type: 设备ID
  103. * duration: 时长 ms [100 .. 1000]
  104. */
  105. extern "C" {
  106. extern void Vibrate(int type,int duration);
  107. }
  108. /**
  109. * 震动 -- 兼容 三轮车
  110. * type: 设备ID
  111. * duration: 时长 ms [100 .. 1000]
  112. */
  113. extern "C" {
  114. extern void Vibrates(int type,int duration, int leftOrRight);
  115. }
  116. /**
  117. * unity获取用户好友 -->> ios端根据用户token值请求http好友列表 ios将列表json的数组数据传给unity
  118. */
  119. extern "C" {
  120. extern void GetUserFriends();
  121. }
  122. /**
  123. * unity获取用户信息 -->> 解析从Spotr App的传过来的RL_Seme ios返回json数据给游戏
  124. */
  125. extern "C" {
  126. extern char * GetUserInfoJson();
  127. }
  128. /**
  129. * unity可以主动断开链接
  130. * type: 设备类型 0: 主, 1: 副
  131. */
  132. extern "C" {
  133. extern void DisConnectDevice(int type);
  134. }
  135. /**
  136. * 主动邀请好友
  137. * friendid: 游戏好友ID
  138. */
  139. extern "C" {
  140. extern void InviteFriend(int friendid,char * info);
  141. }
  142. /**
  143. * unity界面准备好后可以申请邀请信息,回调在inviteFriendHandler
  144. * friendid: 游戏好友ID
  145. */
  146. extern "C" {
  147. extern void GetInviteInfo();
  148. }
  149. /**
  150. * 投屏
  151. */
  152. extern "C" {
  153. extern void ScreenProjection();
  154. }
  155. /**
  156. * Unity call ios 弹出邀请好友弹窗
  157. * 旧版游戏暂未用到
  158. */
  159. extern "C" {
  160. void ShowInviteFriend(int code, char * info);
  161. }
  162. /**
  163. * Unity call ios 获取游戏榜单数据
  164. *if (type == 0) "world" else "friend"
  165. *ios 请求完数据后用 PointerGetRankHandler 回调数据给unity
  166. */
  167. extern "C" {
  168. void GetRank(int type);
  169. }
  170. /**
  171. * Unity call ios 获取鞋子角度
  172. */
  173. extern "C" {
  174. int NativeGetAttX(int cusId);
  175. }