IOSPlatformSDK.h 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. //
  2. // IOSPlatformSDK.h
  3. // OYGameSKD
  4. //
  5. // Created by duowan123 on 2021/1/21.
  6. // Copyright © 2021 jiketeam. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. @interface IOSPlatformSDK : NSObject
  11. //****************** public Method ******************//
  12. +(instancetype)sharedInstance;
  13. -(void)startWithUrl:(NSURL*)url;
  14. //****************** ios call unity start ******************//
  15. /**
  16. * cusid:主/副设备
  17. * left:左鞋动作代码
  18. * right:右鞋动作代码
  19. */
  20. -(void)bridgingMotionAction:(int)cusid
  21. left:(int)left
  22. right:(int)right;
  23. /**
  24. * 踏步状态,频率
  25. * cusid:主/副设备
  26. * leftStatus:左鞋步频(0:停止, 1:慢,2:快)
  27. * rightStatus:右鞋步频(0:停止, 1:慢,2:快)
  28. * leftFrag:左鞋步数
  29. * rightFrag:左鞋步数
  30. */
  31. -(void)bridgingStepAction:(int)cusid
  32. leftStatus:(int)leftStatus
  33. rightStatus:(int)rightStatus
  34. leftFrag:(int)leftFrag
  35. rightFrag:(int)rightFrag;
  36. /**
  37. * 返回蓝牙设备的基本信息,用于界面上显示当前的设备状况,, app 跳转的时候传过来的
  38. * cusid:主/副设备
  39. * name:蓝牙设备名称
  40. * address:蓝牙设备mac地址
  41. * status:链接状态
  42. * electricity:蓝牙设备电量 取值范围[0 - 100] 对比左右鞋 handler较低的电量
  43. */
  44. -(void)bridgingDeviceAction:(int)cusid
  45. name:(NSString*)name
  46. address:(NSString*)address
  47. status:(int)status
  48. electricity:(int)electricity;
  49. /**
  50. *游戏首页交互动作的回调
  51. * cusid: 主副设备
  52. * code: 交互代码
  53. */
  54. -(void)bridgingInteraction:(int)cusid
  55. code:(int)code;
  56. @end
  57. //****************** unity call ios start ******************//
  58. /**
  59. * 游戏开始
  60. */
  61. extern "C" {
  62. extern void GameStart();
  63. }
  64. /**
  65. * 游戏结束
  66. * level: level
  67. * score: score
  68. * record: record
  69. * mode: mode
  70. * opponentId: opponentId
  71. */
  72. extern "C" {
  73. extern void GameEnd(int level, double score, int record, int mode, int opponentId);
  74. }
  75. /**
  76. * 搜索设备
  77. * type: 设备ID
  78. */
  79. extern "C" {
  80. extern void SearchDevice(int type);
  81. }
  82. /**
  83. * 链接设备
  84. * type: 设备ID
  85. */
  86. extern "C" {
  87. extern void ConnectDevice(int type);
  88. }
  89. /**
  90. * 震动
  91. * type: 设备ID
  92. * duration: 时长 ms [100 .. 1000]
  93. */
  94. extern "C" {
  95. extern void Vibrate(int type,int duration);
  96. }
  97. /**
  98. * unity获取用户好友 -->> ios端根据用户token值请求http好友列表 ios将列表json的数组数据传给unity
  99. */
  100. extern "C" {
  101. extern void GetUserFriends();
  102. }
  103. /**
  104. * unity获取用户信息 -->> 解析从Spotr App的传过来的RL_Seme ios返回json数据给游戏
  105. */
  106. extern "C" {
  107. extern char * GetUserInfoJson();
  108. }
  109. /**
  110. * unity可以主动断开链接
  111. * type: 设备类型 0: 主, 1: 副
  112. */
  113. extern "C" {
  114. extern void DisConnectDevice(int type);
  115. }
  116. /**
  117. * 主动邀请好友
  118. * friendid: 游戏好友ID
  119. */
  120. extern "C" {
  121. extern void InviteFriend(int friendid,char * info);
  122. }
  123. /**
  124. * unity界面准备好后可以申请邀请信息,回调在inviteFriendHandler
  125. * friendid: 游戏好友ID
  126. */
  127. extern "C" {
  128. extern void GetInviteInfo();
  129. }
  130. /**
  131. * 投屏
  132. */
  133. extern "C" {
  134. extern void ScreenProjection();
  135. }