瀏覽代碼

代码优化

leon 2 年之前
父節點
當前提交
8f1bcff227
共有 28 個文件被更改,包括 433 次插入913 次删除
  1. 二進制
      .DS_Store
  2. 二進制
      DanceGame/.DS_Store
  3. 二進制
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/.DS_Store
  4. 二進制
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/.DS_Store
  5. 0 17
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/BTDataProcess.h
  6. 197 278
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/BTDataProcess.mm
  7. 1 1
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/LEONBLManager.h
  8. 20 3
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /GameInfo.h
  9. 0 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /GameInfo.m
  10. 3 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /ShoesInfo.h
  11. 0 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /ShoesInfo.m
  12. 1 9
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/HTTP/HTTPDataProcession.m
  13. 17 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/CacheTool.h
  14. 49 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/CacheTool.m
  15. 19 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/DebugTool.h
  16. 71 0
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/DebugTool.m
  17. 0 157
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/GameObjc.h
  18. 0 387
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/GameObjc.mm
  19. 1 3
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/MYFactoryManager.h
  20. 2 2
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/UI/DebugView.m
  21. 0 3
      DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/UI/SearchDeviceViewController.m
  22. 31 31
      DanceGame/Unity-iPhone.xcodeproj/project.pbxproj
  23. 二進制
      DanceGame/Unity-iPhone.xcodeproj/project.xcworkspace/xcuserdata/duowan123.xcuserdatad/UserInterfaceState.xcuserstate
  24. 二進制
      RunGame/.DS_Store
  25. 10 11
      RunGame/SDK/BLE/MotionCountObj.h
  26. 1 1
      RunGame/SDK/BLE/MotionCountObj.m
  27. 10 10
      RunGame/Unity-iPhone.xcodeproj/project.pbxproj
  28. 二進制
      RunGame/Unity-iPhone.xcodeproj/project.xcworkspace/xcuserdata/duowan123.xcuserdatad/UserInterfaceState.xcuserstate

二進制
.DS_Store


二進制
DanceGame/.DS_Store


二進制
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/.DS_Store


二進制
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/.DS_Store


+ 0 - 17
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/BTDataProcess.h

@@ -6,21 +6,7 @@
 //
 
 #import <UIKit/UIKit.h>
-#import "MYFactoryManager.h"
 
-#import "LEONBLManager.h"
-#import "SocketRocketUtility.h"
-
-#import "ShoesInfo.h"
-#import "GameInfo.h"
-
-////游戏类型
-//typedef NS_ENUM(int, GAME_TYPE){
-//    GAME_TYPE_DEMO =0, //
-//    GAME_TYPE_RUN, //
-//    GAME_TYPE_DANCE, //
-//    GAME_TYPE_SDAER, //
-//};
 
 //蓝牙状态
 typedef NS_ENUM(NSInteger, BLETOOTH_STUTAS){
@@ -34,9 +20,6 @@ typedef NS_ENUM(NSInteger, BLETOOTH_STUTAS){
 
 @property(assign,nonatomic)int nativeAttX;
 
-@property(nonatomic,strong)ShoesInfo * shoes_info;
-@property(nonatomic,strong)GameInfo * game_info;
-
 //单例->初始化蓝牙
 +(instancetype)sharedInstance;
 

+ 197 - 278
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/BTDataProcess.mm

@@ -6,7 +6,15 @@
 #import "BTDataProcess.h"
 #import "IOSPlatformSDK.h"
 #include "Game.h"
-#import "MotionCountObj.h"
+
+#import "MYFactoryManager.h"
+
+#import "LEONBLManager.h"
+
+#import "ShoesInfo.h"
+#import "GameInfo.h"
+#import "DebugTool.h"
+#import "CacheTool.h"
 
 //#define NSLog(format, ...) printf("TIME:%s FILE:%s(%d行) FUNCTION:%s %s\n",__TIME__, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String])
 @interface BTDataProcess ()
@@ -26,15 +34,16 @@ Game *viceDeviceGame;
 
 //定时查询设备状态
 @property(nonatomic,weak)NSTimer * timer;
-
-@property(nonatomic,strong)MotionCountObj * motionCountObj;
+//鞋子信息
+@property(nonatomic,strong)ShoesInfo * shoes_info;
+//当局游戏信息
+@property(nonatomic,strong)GameInfo * game_info;
 
 @end
 
 @implementation BTDataProcess
 
-#pragma mark ===============================================>> 静态的初始化方法  init的时候(建立蓝牙中心管理类,设置代理)
-//单例静态
+#pragma mark ===============================================>> 单例
 static BTDataProcess* instance = nil;
 +(instancetype)sharedInstance{
      return [[self alloc] init];
@@ -56,127 +65,17 @@ static BTDataProcess* instance = nil;
     return instance;
 }
 
-#pragma mark ===============================================>> public method
--(void)startWithUrl:(NSURL*)url{//
-    
-    if (url==nil){
-        return;
-    }
-    NSString * urlString = [url absoluteString];
-    NSArray * stringArr = [urlString componentsSeparatedByString:@"//"];
-    if (stringArr == nil || stringArr.count<2){
-        return;
-    }
-    NSString * arr2 = stringArr[1];
-    NSString* finsalString = [arr2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-    NSDictionary * urlDict = [AlgorithmTool dictionaryWithJsonString:finsalString];
-    NSLog(@"Schemes_Url转码的dict ========= %@",urlDict);
-    //缓存用户信息数据
-    [IOS_NSUSERDEFAULT setObject:urlDict forKey:IOSSDK_USERINFO];
-    [IOS_NSUSERDEFAULT synchronize];
-  
-    if ([urlDict isKindOfClass:[NSNull class]] || urlDict == nil || [urlDict isEqual:[NSNull null]]){
-        [PopupView showCusHUDA:@"获取用户信息失败,请从趣动启动"];
-        return;
-    }
-    //主副设备:deviceType  游戏种类:game_type  mac地址:macAddress
-    self.game_info.deviceType = DEVICETYPE_MAIN;
-    NSString * game_type = [MYFactoryManager getGameType];
-    self.game_info.game_type = (GAME_TYPE)[game_type intValue];
-    self.shoes_info.macAddress = [MYFactoryManager getGameMac];
-    //链接蓝牙
-    [self initCBCentralManager];
-    
-}
-
-//unity call instance弹出蓝牙搜索框
--(void)searchBLEAction:(int)type{
-    
-    /***************************初始化蓝牙数据处理工具***************************/
-    //主副设备:deviceType  游戏种类:game_type  mac地址:macAddress
-    self.game_info.deviceType = (DEVICE_TYPE)type;
-    NSString * game_type = [MYFactoryManager getGameType];
-    self.game_info.game_type = (GAME_TYPE)[game_type intValue];
-    self.shoes_info.macAddress = @"";
-    //初始化蓝牙CBCentralManager
-    [self initCBCentralManager];
-
-    /***************************搜索蓝牙外设弹窗***************************/
-    self.searchDeviceVC = [SearchDeviceViewController  new];
-    UIViewController *rootVC = [[UIApplication sharedApplication].delegate window].rootViewController;
-    UIViewController *parent = rootVC;
-    while ((parent = rootVC.presentedViewController) != nil ){
-    rootVC = parent;
-    }
-    while ([rootVC isKindOfClass:[UINavigationController class]]){
-    rootVC = [(UINavigationController *)rootVC topViewController];
-    }
-    [rootVC addChildViewController:self.searchDeviceVC];
-    [rootVC.view addSubview:self.searchDeviceVC.view];
-    //点击searchVC的tableViewCell链接选中的蓝牙
-    __weak __typeof(self)weakself = self;
-        self.searchDeviceVC.connectDeviceBlock = ^(CBPeripheral * peripheral){
-        weakself.game_info.deviceType = (DEVICE_TYPE)type;
-        weakself.shoes_info.macAddress = peripheral.identifier.UUIDString;
-        [weakself connectPeripheral:peripheral];
-    };
-    
-}
-
-//每重新开始一局游戏
--(void)gameStartInitData{
-    
-    //当局游戏时间
-    self.game_info.firstTime = [NSDate date];
-
-    self.motionCountObj = [MotionCountObj new];
-    if (game){
-        self.motionCountObj.step = game->getMotionCount(STEP_COUNT);
-        self.motionCountObj.jump = game->getMotionCount(JUMP_COUNT);
-        self.motionCountObj.crouch = game->getMotionCount(DOWN_COUNT);
-        self.motionCountObj.tick = game->getMotionCount(KICK_COUNT);
-        self.motionCountObj.paper = game->getMotionCount(PAPER_COUNT);
-        self.motionCountObj.scissors = game->getMotionCount(SCISSORS_COUNT);
-        self.motionCountObj.rock = game->getMotionCount(ROCK_COUNT);
-        NSLog(@"self.motionCountObj = %d %d %d %d %d %d %d",self.motionCountObj.step,self.motionCountObj.jump,self.motionCountObj.crouch,self.motionCountObj.tick,self.motionCountObj.paper,self.motionCountObj.scissors,self.motionCountObj.rock);
-    }
-    
-    //游戏模式 ==>> 回调剑波sdk数据
-    self.shoes_info.gameModel = YES;
-    //读写到特征后 添加测试弹窗
-    dispatch_async(dispatch_get_main_queue(), ^{
-        [DebugViewInstance inittestLabel];
-    });
-    
-}
-
-//每结束一局游戏
--(void)gameEndInitData{
-//    self.shoes_info.gameModel = NO;
-    //jb
-    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
-        [DebugViewInstance uploadpPlistFile];
-    });
-}
-
-//监听通知震动
--(void)vibrationAction:(int)type duration:(int)duration{
-    [BTDataSendInstance vibration:(DEVICE_TYPE)type duration:duration];
-}
-
-#pragma mark ============================>> private
+#pragma mark ===============================================>> private
 -(void)initData{
     
     self.shoes_info = [ShoesInfo new];
     self.shoes_info.gameModel = NO; //默认游戏模式关
+    self.shoes_info.timestamp = [AlgorithmTool returnTimestamp];//跳转游戏时候的时间戳
     
     self.game_info = [GameInfo new];
     self.game_info.isBackGround = NO; //后台模式
-   
-    //固定一个时间戳
-    NSString * timestamp =   [AlgorithmTool returnTimestamp];
-    [IOS_NSUSERDEFAULT setObject:timestamp forKey:IOSSDK_TIMESTAMP];
-    [IOS_NSUSERDEFAULT synchronize];
+//    NSLog(@"self.game_info = %d %d %d %d %d %d %d",self.game_info.step,self.game_info.jump,self.game_info.crouch,self.game_info.tick,self.game_info.paper,self.game_info.scissors,self.game_info.rock);
+    
     
     //监听 趣动 app group 消息 ==>> 好友邀请信息
     CFStringRef invite = (__bridge CFStringRef)@"INVITE_NOTIFICATION";
@@ -218,6 +117,12 @@ void disConnectBle (CFNotificationCenterRef center, void *observer, CFStringRef
     [instance disConnedctBle];
 }
 
+//趣动 ==>> 断开蓝牙
+-(void)disConnedctBle{
+    NSLog(@"趣动 call 断开蓝牙");
+    [LEManager cancelPeripheralConnection];
+}
+//趣动 ==>> 通知邀请好友
 void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef name, const void *object, CFDictionaryRef userInfo){
         
     //group.com.Oujia.AppAndGame 沙河数据
@@ -247,12 +152,87 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
     
 }
 
-//趣动 ==>> 断开蓝牙
--(void)disConnedctBle{
-    NSLog(@"趣动 call 断开蓝牙");
-    [LEManager cancelPeripheralConnection];
+#pragma mark ===============================================>> public method
+-(void)startWithUrl:(NSURL*)url{//
+    
+    if (url==nil){
+        return;
+    }
+    NSString * urlString = [url absoluteString];
+    NSArray * stringArr = [urlString componentsSeparatedByString:@"//"];
+    if (stringArr == nil || stringArr.count<2){
+        return;
+    }
+    NSString * arr2 = stringArr[1];
+    NSString* finsalString = [arr2 stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    NSDictionary * urlDict = [AlgorithmTool dictionaryWithJsonString:finsalString];
+    NSLog(@"Schemes_Url转码的dict ========= %@",urlDict);
+    //缓存用户信息数据
+    [IOS_NSUSERDEFAULT setObject:urlDict forKey:IOSSDK_USERINFO];
+    [IOS_NSUSERDEFAULT synchronize];
+  
+    //主副设备:deviceType  游戏种类:game_type  mac地址:macAddress
+    self.game_info.deviceType = DEVICETYPE_MAIN;
+    self.game_info.game_type = (GAME_TYPE)[[MYFactoryManager getGameType] intValue];
+    self.shoes_info.macAddress = [MYFactoryManager getGameMac];
+    
+    //链接蓝牙
+    [self initCBCentralManager];
+    
+}
+
+//unity call instance弹出蓝牙搜索框
+-(void)searchBLEAction:(int)type{
+    
+    //初始化蓝牙CBCentralManager
+    [self initCBCentralManager];
+
+    //搜索蓝牙外设弹窗
+    self.searchDeviceVC = [SearchDeviceViewController  new];
+    [[UIApplication sharedApplication].keyWindow addSubview:self.searchDeviceVC.view];
+
+    //点击searchVC的tableViewCell链接选中的蓝牙
+    __weak __typeof(self)weakself = self;
+    self.searchDeviceVC.connectDeviceBlock = ^(CBPeripheral * peripheral){
+        //主副设备:deviceType  游戏种类:game_type  mac地址:macAddress
+        weakself.game_info.game_type = (GAME_TYPE)[[MYFactoryManager getGameType] intValue];
+        weakself.game_info.deviceType = (DEVICE_TYPE)type;
+        weakself.shoes_info.macAddress = peripheral.identifier.UUIDString;
+        [weakself connectPeripheral:peripheral];
+    };
+    
 }
 
+//每重新开始一局游戏
+-(void)gameStartInitData{
+    
+    //当局游戏时间
+    self.game_info.firstTime = [NSDate date];
+
+    //游戏模式 ==>> 回调剑波sdk数据
+    self.shoes_info.gameModel = YES;
+    //读写到特征后 添加测试弹窗
+    dispatch_async(dispatch_get_main_queue(), ^{
+        [DebugViewInstance inittestLabel];
+    });
+    
+}
+
+//每结束一局游戏
+-(void)gameEndInitData{
+//    self.shoes_info.gameModel = NO;
+    //jb
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(),^{
+        [DebugViewInstance uploadpPlistFile];
+    });
+}
+
+//监听通知震动
+-(void)vibrationAction:(int)type duration:(int)duration{
+    [BTDataSendInstance vibration:(DEVICE_TYPE)type duration:duration];
+}
+
+
 #pragma mark ===============================================>> leon Ble manager
 //测试自己封装的蓝牙类
 -(void)initCBCentralManager{
@@ -327,11 +307,9 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 //                    NSLog(@"主设备扫描发现有效的蓝牙设备 =============== %@   identifier == %@",peripheral.name,peripheral.identifier.UUIDString);
 
                     if (self.deviceArray.count == 0){//数据源为0
-                        
                             [self.deviceArray addObject:peripheral];
                             //判断扫描到外设之后是否要链接蓝牙
                             [self ifAppJumpWithIdentifier:peripheral];
-                        
                     }else{
                         
                             BOOL isExist = NO;
@@ -342,14 +320,13 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
                                     [self.deviceArray replaceObjectAtIndex:i withObject:peripheral];
                                 }
                             }
-                        
                             if (!isExist){
                                 [self.self.deviceArray addObject:peripheral];
                                 //判断扫描到外设之后是否要链接蓝牙
                                 [self ifAppJumpWithIdentifier:peripheral];
                             }
                     }
-                    
+                                        
                     //数据回调给 搜索蓝牙弹窗
                     self.searchDeviceVC.deviceArray = self.deviceArray;
                     [self.searchDeviceVC reloadData];
@@ -399,12 +376,44 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 
 //链接主副设备 + 绑定特征
 -(void)connectBLEManagerData:(CBPeripheral*)peripheral deviceType:(DEVICE_TYPE)deviceType{
-    
+        
+    //链接蓝牙 此时 LEManager.peripheral || LEManager.vicePeripheral 还未init
+    [LEManager connectPeripheral:peripheral options:nil];
     //链接动画
     [[AnimationView shanreAnimationView] addAnimation];
     
-    //链接蓝牙 此时 LEManager.peripheral || LEManager.vicePeripheral 还未init
-    [LEManager connectPeripheral:peripheral options:nil];
+    //蓝牙连接成功
+    LEManager.successfulBlock = ^(CBPeripheral * _Nonnull peripheral){
+        NSLog(@"蓝牙链接成功");
+    };
+
+    //蓝牙连接失败
+    LEManager.connectFailureBlock = ^(NSError * _Nonnull error){
+        NSLog(@"蓝牙链接失败");
+    };
+
+    //蓝牙连接丢失
+    LEManager.disConnectBlock = ^(CBPeripheral * _Nonnull peripheral, NSError * _Nonnull error){
+        NSLog(@"蓝牙链接丢失");
+        if (LEManager.peripheral!=nil&&peripheral == LEManager.peripheral){
+            [self.sdk bridgingDeviceAction:DEVICETYPE_MAIN
+                                        name:LEManager.peripheral.name
+                                     address:LEManager.peripheral.identifier.UUIDString
+                                      status:CONNECT_LOST
+                                 electricity:0];
+        }
+        
+        if (LEManager.vicePeripheral!=nil&&peripheral == LEManager.vicePeripheral){
+            [self.sdk bridgingDeviceAction:DEVICETYPE_VICE
+                                        name:LEManager.vicePeripheral.name
+                                     address:LEManager.vicePeripheral.identifier.UUIDString
+                                      status:CONNECT_LOST
+                                 electricity:0];
+        }
+        //断线重连
+        [self initCBCentralManager];
+    };
+    
     //发现服务和特征
     LEManager.discoverCharacteristicsBlock = ^(CBPeripheral * _Nonnull peripheral, CBService * _Nonnull service, NSArray * _Nonnull characteristics, NSError * _Nonnull error){
         
@@ -460,7 +469,7 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
                 
                 int dataType = [AlgorithmTool dataToChar:[characteristic.value subdataWithRange:NSMakeRange(3, 1)]];//cmd类型
 //                NSLog(@"读取特征的报文 游戏数据 %ld dataType = %d %@",(long)type,dataType,characteristic.value);
-                  if (dataType == 4){//获取主动推过来的数据
+                  if (dataType == 4){//鞋子游戏数据
                       
                           //数据丢给算法计算轨迹
                           if (type == DEVICETYPE_MAIN&&LEManager.main_read == 0){
@@ -468,18 +477,23 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
                               LEManager.main_read = 1;
                               [self shoseSDK:characteristic.value];
                           }else if (type == DEVICETYPE_VICE&&LEManager.vice_read == 0){
-                              NSLog(@"LEManager.vice_read = %d",LEManager.main_read);
+//                              NSLog(@"LEManager.vice_read = %d",LEManager.main_read);
                               LEManager.vice_read = 1;
                               [self viceShoseSDK:characteristic.value];
                           }
                       
-                  }else if(dataType == -95){//读取基本信息
+                  }else if(dataType == -95){//鞋子状态信息
+                      
+                          //隐藏加载框
+                          [[AnimationView shanreAnimationView] stopAnimation];
+
                           //嵌入式原始数据解析 --->> 回调蓝牙状态/电量给unity
                           BTDataAnalysis * anly = [BTDataAnalysis new];
                           [anly analysisCharacteristic:characteristic.value deviceType:type];
+                      
                   }
                       
-            }
+             }
             
          }
         
@@ -495,46 +509,7 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 //        NSLog(@"self.RSSI  = %@",self.RSSI);
     };
     
-    //蓝牙连接成功
-    LEManager.successfulBlock = ^(CBPeripheral * _Nonnull peripheral){
-        NSLog(@"蓝牙链接成功");
-            [[AnimationView shanreAnimationView] stopAnimation];
-    };
 
-    //蓝牙连接失败
-    LEManager.connectFailureBlock = ^(NSError * _Nonnull error){
-        NSLog(@"蓝牙链接失败");
-    };
-
-    //蓝牙连接丢失
-    LEManager.disConnectBlock = ^(CBPeripheral * _Nonnull peripheral, NSError * _Nonnull error){
-        
-        if (LEManager.peripheral!=nil&&peripheral == LEManager.peripheral){
-            
-            [self.sdk bridgingDeviceAction:DEVICETYPE_MAIN
-                                        name:LEManager.peripheral.name
-                                     address:LEManager.peripheral.identifier.UUIDString
-                                      status:CONNECT_LOST
-                                 electricity:0];
-            
-        }
-        
-        if (LEManager.vicePeripheral!=nil&&peripheral == LEManager.vicePeripheral){
-            
-            [self.sdk bridgingDeviceAction:DEVICETYPE_VICE
-                                        name:LEManager.vicePeripheral.name
-                                     address:LEManager.vicePeripheral.identifier.UUIDString
-                                      status:CONNECT_LOST
-                                 electricity:0];
-            
-        }
-        
-        NSLog(@"蓝牙链接丢失");
-        //断线重连
-        [self initCBCentralManager];
-        
-    };
-    
 }
 
 #pragma mark ===============================================>> 读取特征后 鞋子打开游戏模式 & 激光开关 &查询鞋子蓝牙状态 & 主设备初始化缓存游戏步数
@@ -550,7 +525,7 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
         [self.timer invalidate];
         self.timer = nil;
     }
-    self.timer = [NSTimer scheduledTimerWithTimeInterval:15 target:self selector:@selector(timingDataTransmission:) userInfo:nil repeats:YES];
+    self.timer = [NSTimer scheduledTimerWithTimeInterval:10 target:self selector:@selector(timingDataTransmission:) userInfo:nil repeats:YES];
     [[NSRunLoop currentRunLoop] addTimer:self.timer forMode:NSDefaultRunLoopMode];
 
 }
@@ -577,66 +552,67 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
             Byte * buff = (Byte*)[validData bytes];
             game->GameProcessBuf(buff, (int)validData.length);
             
+            /********************剑波 & 威严 要的图表数据 *****************/
+            NSString * message = [NSString stringWithUTF8String:game->getGameDataStr().c_str()];
+            [DebugTool debugMessage:message shoesInfo:self.shoes_info];
+            
+            /******************左右脚动作数据处理 + 回调*****************/
             int length = 4;
             int result[length];
             game->getGameResult(result);
         //   NSLog(@"result == %d %d %d %d \n",result[0],result[1],result[2],result[3]);
-                
-            /******************左右脚动作数据处理 + 回调*****************/
             int motionLeft = result[0];//左脚的动作
             int motionRight = result[1];//右脚的动作
             int motionJump = result[2];//jump
             int motionDown = result[3];//down
             
-//            //无效动作
-//            if (motionLeft==-1 && motionRight == -1&& motionJump == -1&& motionDown == -1){
-//                return;
-//            }else{
+            //无效动作
+            if (motionLeft==-1 && motionRight == -1&& motionJump == -1&& motionDown == -1){
+                return;
+            }else{
                 
                 //跳跃和蹲下的动作 双脚是同步的
                 if (motionJump == MOTION_JUMP){
                     motionLeft = motionJump;
                     motionRight = motionJump;
-                    NSLog(@" 主设备 ================================== 跳起来 ");
+//                    NSLog(@" 主设备 ================================== 跳起来 ");
                 }
             
                 if (motionDown == MOTION_DOWN){
                     motionLeft = motionDown;
                     motionRight = motionDown;
-                    NSLog(@" 主设备 =================================== 蹲下去 ");
+//                    NSLog(@" 主设备 =================================== 蹲下去 ");
                 }
                 
-                /******************步频数据处理 + 回调*****************/
+            /******************当局鞋子子动作状态数据 缓存*****************/
             self.shoes_info.leftStepStatus =  game->getStepStatus(LEFT_FOOT);
             self.shoes_info.leftStepFreq =  game->getStepFreq(LEFT_FOOT);
             self.shoes_info.leftStepCount =  game->getStepCount(LEFT_FOOT);
             self.shoes_info.rightStepStatus =  game->getStepStatus(RIGHT_FOOT);
             self.shoes_info.rightStepFreq =  game->getStepFreq(RIGHT_FOOT);
             self.shoes_info.rightStepCount =  game->getStepCount(RIGHT_FOOT);
+            [self cacheAllMotionCount];
                 
-                /******************玩家当前朝向 用户赛车*****************/
-            //    int attLength = 3;
-            //    int left[attLength];
-            //    int right[attLength];
-            //     game->getFootAtt(left, right);
-            //    self.nativeAttX = left[0];
-            //    NSLog(@"self.nativeAttX = %d",self.nativeAttX);
-                
-                //跑酷需要回调步频
-                if (self.game_info.game_type == GAME_TYPE_RUN){
-                    [self.sdk bridgingStepAction:DEVICETYPE_MAIN leftStatus:self.shoes_info.leftStepStatus rightStatus:self.shoes_info.rightStepStatus leftFrag:self.shoes_info.leftStepFreq rightFrag:self.shoes_info.rightStepFreq];
-                }
-                //左右脚动作
-                [self.sdk bridgingMotionAction:DEVICETYPE_MAIN left:motionLeft right:motionRight];
-                
-                //当局运动数据缓存
-                [self cacheAllMotionCount:self.shoes_info.leftStepCount+self.shoes_info.rightStepCount];
-                
-                //测试数据
-                [self tempTest:self.shoes_info.rightStepFreq leftStepFreq:self.shoes_info.leftStepFreq];
+            /******************鞋子动作状态数据 实时回调*****************/
+            //左右脚动作
+            [self.sdk bridgingMotionAction:DEVICETYPE_MAIN left:motionLeft right:motionRight];
             
-//            }
+            //只有 跑酷 需要回调步频
+            if (self.game_info.game_type == GAME_TYPE_RUN){
+                [self.sdk bridgingStepAction:DEVICETYPE_MAIN leftStatus:self.shoes_info.leftStepStatus rightStatus:self.shoes_info.rightStepStatus leftFrag:self.shoes_info.leftStepFreq rightFrag:self.shoes_info.rightStepFreq];
+            }
             
+//            //只有 赛车游戏 需要回调当前朝向
+//            if (self.game_info.game_type == GAME_TYPE_CYCLE){
+//                    int attLength = 3;
+//                    int left[attLength];
+//                    int right[attLength];
+//                     game->getFootAtt(left, right);
+//                    self.nativeAttX = left[0];
+//                    NSLog(@"self.nativeAttX = %d",self.nativeAttX);
+//            }
+                
+         }
      
         }else{//当前是交互模式
 
@@ -651,73 +627,11 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 //            }else{
 //    //            NSLog(@"BTDataProcess 无效交互动作 ===>> %@",@"原地");
 //            }
+            
         }
     
 }
 
-//算法需要的测试数据
--(void)tempTest:(int)rightStepFreq leftStepFreq:(int)leftStepFreq{
-    
-    /********************剑波 & 威严 要的图表数据 *****************/
-    NSString * aString = [NSString stringWithUTF8String:game->getGameDataStr().c_str()];
-//    NSLog(@"aString == %@",aString);
-    if (aString.length <1){
-        return;
-    }
-   
-    //上传即使动作数据
-    [[SocketRocketUtility sharedInstance] sendData:nil withRequestURI:aString];
-    if (DebugViewInstance.RSSI==nil){
-        DebugViewInstance.RSSI = 0;
-    }
-     aString = [NSString stringWithFormat:@"%@,%@",aString,DebugViewInstance.RSSI];
-    DebugViewInstance.tempStepString = [NSString stringWithFormat:@"%@\n",aString];
-    if (DebugViewInstance.tempStepString!=nil && DebugViewInstance.tempStepString.length>1){
-        [DebugViewInstance writeFileToplist];
-    }
-    
-    /********************调试窗数据 *****************/
-    NSArray *aArray = [aString componentsSeparatedByString:@","];
-    if (aArray == nil || [aArray isKindOfClass:[NSNull class]] || aArray.count<30){
-        return;
-    }
-//    NSLog(@"aArray == %@",aArray);
-//    dispatch_async(dispatch_get_main_queue(), ^{
-        if (DebugViewInstance.testLabel!=nil){
-            DebugViewInstance.testLabel.text = [NSString stringWithFormat:@"right:[%@,%@,%@] [%@,%@,%@] [%@,%@,%@] [%@,%@,%@] \nleft:[%@,%@,%@] [%@,%@,%@] [%@,%@,%@] [%@,%@,%@]  \nrssi:[%@ %@] ts:%@ \n脚步:[%@ %@] \n步频:[%d %d] ",aArray[0],aArray[1],aArray[2],aArray[3],aArray[4],aArray[5],aArray[6],aArray[7],aArray[8],aArray[9],aArray[10],aArray[11],aArray[12],aArray[13],aArray[14],aArray[15],aArray[16],aArray[17],aArray[18],aArray[19],aArray[20],aArray[21],aArray[22],aArray[23],DebugViewInstance.RSSI,aArray[26],aArray[27],aArray[28],aArray[29],rightStepFreq,leftStepFreq];
-        }
-//    });
-    
-    /********************颖嘉+的ts丢包数据 *****************/
-    NSString * tsString =  aArray[27];
-//    NSLog(@"剑波 getGameDataStr 时间戳 ==============>> %@\n",tsString);
-    int tsInt = [tsString  intValue];
-    int total;
-    if (DebugViewInstance.currentTS != 1000){//颖嘉初始值未知 ios初始值==1000
-        //1....255
-        if (tsInt > DebugViewInstance.currentTS){
-             total = tsInt - DebugViewInstance.currentTS - 1;
-        }
-        //255...1
-        if (tsInt < DebugViewInstance.currentTS){
-            if (tsInt ==0){
-                total = (255-DebugViewInstance.currentTS) + tsInt + 1 - 1;
-            }else{
-                total = (255-DebugViewInstance.currentTS) + tsInt - 1;
-            }
-        }
-        if (total > 10){
-            NSLog(@"getGameDataStr 丢包 ================================>> %d",total);
-            dispatch_async(dispatch_get_main_queue(), ^{
-                AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
-                [PopupView showCusHUDA:[NSString stringWithFormat:@"丢包数: %d",total]];
-            });
-        }
-    }
-//    NSLog(@"tsInt = %d  currentTS = %d total = %d",tsInt,self.currentTS,total);
-    DebugViewInstance.currentTS = tsInt;
-    
-}
 
 #pragma mark ===============================================>>副设备 报文数据解析后 -- 调用蓝牙鞋子SDK装换数据 -- ios call unity 更新游戏动作
 -(void)viceShoseSDK:(NSData*)characteristic{
@@ -750,6 +664,7 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
     if (motionLeft==-1 && motionRight == -1&& ivce_motionJump == -1&& ivce_motionDown == -1){//无效动作
         return;
     }else{
+        
         //跳跃和蹲下的动作 双脚是同步的
         if (ivce_motionJump == MOTION_JUMP){
             motionLeft = ivce_motionJump;
@@ -769,7 +684,7 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
         //ios call unity
         [self.sdk bridgingMotionAction:DEVICETYPE_VICE left:motionLeft right:motionRight];//副设备左右脚动作
         
-        }
+    }
     
 }
 
@@ -782,16 +697,17 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 }
 
 #pragma mark ===============================================>>玩游戏过程中缓存 动作数据 和时间戳 数据存入plist
--(void)cacheAllMotionCount:(int)totalStep{
+-(void)cacheAllMotionCount{
     
     //总数
-    int total_step_count = game->getMotionCount(STEP_COUNT) - self.motionCountObj.step;
-    int total_jump_count = game->getMotionCount(JUMP_COUNT) - self.motionCountObj.jump;
-    int total_crouch_count = game->getMotionCount(DOWN_COUNT) - self.motionCountObj.crouch;
-    int total_tick_count = game->getMotionCount(KICK_COUNT) - self.motionCountObj.tick;
-    int total_paper_count = game->getMotionCount(PAPER_COUNT) - self.motionCountObj.paper;
-    int total_scissors_count = game->getMotionCount(SCISSORS_COUNT) - self.motionCountObj.scissors;
-    int total_rock_count = game->getMotionCount(ROCK_COUNT) - self.motionCountObj.rock;
+    int total_step_count = game->getMotionCount(STEP_COUNT) - self.game_info.step;
+    int total_jump_count = game->getMotionCount(JUMP_COUNT) - self.game_info.jump;
+    int total_crouch_count = game->getMotionCount(DOWN_COUNT) - self.game_info.crouch;
+    int total_tick_count = game->getMotionCount(KICK_COUNT) - self.game_info.tick;
+    int total_paper_count = game->getMotionCount(PAPER_COUNT) - self.game_info.paper;
+    int total_scissors_count = game->getMotionCount(SCISSORS_COUNT) - self.game_info.scissors;
+    int total_rock_count = game->getMotionCount(ROCK_COUNT) - self.game_info.rock;
+//    int total_trample_count = game->getMotionCount(ROCK_COUNT) - self.game_info.trample;
 
     //缓存pilst文件
     NSMutableDictionary * motionCountObj = [NSMutableDictionary new];
@@ -806,9 +722,12 @@ void inviteFriends (CFNotificationCenterRef center, void *observer, CFStringRef
 
     NSMutableDictionary * movements = [NSMutableDictionary new];
     [movements setObject:motionCountObj forKey:@"movements"];
-    NSTimeInterval durationTime = [[NSDate date] timeIntervalSinceDate:self.game_info.firstTime];//游戏总共经历的时长 秒数
+    //游戏总共经历的时长(秒数)
+    NSTimeInterval durationTime = [[NSDate date] timeIntervalSinceDate:self.game_info.firstTime];
     [movements setObject:[NSNumber numberWithInt:durationTime] forKey:@"duration"];
-
+    //时间戳
+    [movements setObject: self.shoes_info.timestamp forKey:@"play_group"];
+    
     NSDictionary * dict = [NSDictionary dictionaryWithDictionary:movements];
         
     //归档缓存

+ 1 - 1
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/LEONBLManager.h

@@ -9,7 +9,7 @@
 #import <CoreBluetooth/CoreBluetooth.h>
 
 //设备类型
-typedef NS_ENUM(NSInteger, DEVICE_TYPE){
+typedef NS_ENUM(int, DEVICE_TYPE){
     DEVICETYPE_MAIN =0, //主设备
     DEVICETYPE_VICE, //副设备
 };

+ 20 - 3
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/GameInfo.h → DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /GameInfo.h

@@ -8,15 +8,33 @@
 #import <Foundation/Foundation.h>
 #import "LEONBLManager.h"
 
+//#define ORIGINTRAJ 0
+//#define RUNGAME 1
+//#define DANCEGAME 2
+//#define H5GAME 3
+//#define MONSTER 4
+//#define RUINS 5
+//#define CYCLE 6
+//#define BIGFOOT 7
+//#define FINGERGUESSING 8
+//#define AEROBICS 9
+//#define KONGFU 10
+
 //游戏类型
 typedef NS_ENUM(int, GAME_TYPE){
     GAME_TYPE_DEMO =0, //
     GAME_TYPE_RUN, //
     GAME_TYPE_DANCE, //
-    GAME_TYPE_SDAER, //
+    GAME_TYPE_H5GAME, //
+    GAME_TYPE_MONSTER, //
+    GAME_TYPE_RUINSE, //
+    GAME_TYPE_CYCLE, //
+    GAME_TYPE_BIGFOOT, //
+    GAME_TYPE_FINGERGUESSING, //
+    GAME_TYPE_AEROBICS, //
+    GAME_TYPE_KONGFU
 };
 
-
 @interface GameInfo : NSObject
 
 //弹窗 unity主动选择链接 主0 副1 设备
@@ -41,6 +59,5 @@ typedef NS_ENUM(int, GAME_TYPE){
 @property(assign,nonatomic)int rock;
 @property(assign,nonatomic)int paper;
 
-
 @end
 

+ 0 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/GameInfo.m → DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /GameInfo.m


+ 3 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/ShoesInfo.h → DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /ShoesInfo.h

@@ -17,6 +17,9 @@ NS_ASSUME_NONNULL_BEGIN
 //鞋子是否开启游戏模式
 @property(nonatomic,assign)BOOL gameModel;
 
+//每次从趣动跳转过来 固定一个时间戳
+@property(strong,nonatomic)NSString * timestamp;
+
 //游戏鞋子状态
 @property(assign,nonatomic)int leftStepStatus;
 @property(assign,nonatomic)int leftStepFreq;

+ 0 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/BLE/ShoesInfo.m → DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Entity /ShoesInfo.m


+ 1 - 9
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/HTTP/HTTPDataProcession.m

@@ -429,23 +429,15 @@
     [gameRecord setObject:[NSNumber numberWithDouble:score] forKey:@"score"];
     [gameRecord setObject:[NSNumber numberWithInt:mode] forKey:@"mode"];
    
-    //新增加时间戳字段
-    if ( [IOS_NSUSERDEFAULT objectForKey:IOSSDK_TIMESTAMP]!=nil){
-        NSString * timestamp =  [IOS_NSUSERDEFAULT objectForKey:IOSSDK_TIMESTAMP];
-        [gameRecord setObject:timestamp forKey:@"play_group"];
-    }else{
-        [gameRecord setObject:[AlgorithmTool returnTimestamp] forKey:@"play_group"];
-    }
-  
     //缓存的动作数据和持续时间
     NSDictionary * movements = [IOS_NSUSERDEFAULT objectForKey:IOSSDK_MOTIONCOUNT];
     if (movements!=nil){
-//        [sportRecord addEntriesFromDictionary:movements];
         NSDictionary * sub = movements[@"movements"];
        NSData * jsonData = [NSJSONSerialization dataWithJSONObject:sub options:NSJSONWritingPrettyPrinted error:nil];
        NSString * jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
         [gameRecord setObject:jsonString forKey:@"movements"];
         [gameRecord setObject:movements[@"duration"] forKey:@"duration"];
+        [gameRecord setObject:movements[@"play_group"] forKey:@"play_group"];
     }
     
     NSLog(@"gameRecord = %@",gameRecord);

+ 17 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/CacheTool.h

@@ -0,0 +1,17 @@
+//
+//  CacheTool.h
+//  Unity-iPhone
+//
+//  Created by duowan123 on 2022/5/7.
+//
+
+#import <Foundation/Foundation.h>
+#import "GameInfo.h"
+
+
+@interface CacheTool : NSObject
+
++(void)cacheGameInfoInfo:(GameInfo*)gameInfo;
+
+@end
+

+ 49 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/CacheTool.m

@@ -0,0 +1,49 @@
+//
+//  CacheTool.m
+//  Unity-iPhone
+//
+//  Created by duowan123 on 2022/5/7.
+//
+
+#import "CacheTool.h"
+
+@implementation CacheTool
+#pragma mark ===============================================>>玩游戏过程中缓存 动作数据 和时间戳 数据存入plist
++(void)cacheGameInfoInfo:(GameInfo*)gameInfo{
+
+//    //总数
+//    int total_step_count = game->getMotionCount(STEP_COUNT) - gameInfo.step;
+//    int total_jump_count = game->getMotionCount(JUMP_COUNT) - gameInfo.jump;
+//    int total_crouch_count = game->getMotionCount(DOWN_COUNT) - gameInfo.crouch;
+//    int total_tick_count = game->getMotionCount(KICK_COUNT) - gameInfo.tick;
+//    int total_paper_count = game->getMotionCount(PAPER_COUNT) - gameInfo.paper;
+//    int total_scissors_count = game->getMotionCount(SCISSORS_COUNT) - gameInfo.scissors;
+//    int total_rock_count = game->getMotionCount(ROCK_COUNT) - gameInfo.rock;
+////    int total_trample_count = game->getMotionCount(ROCK_COUNT) - gameInfo.trample;
+//
+//    //缓存pilst文件
+//    NSMutableDictionary * motionCountObj = [NSMutableDictionary new];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_step_count] forKey:@"step"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_jump_count] forKey:@"jump"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_crouch_count] forKey:@"crouch"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_tick_count] forKey:@"tick"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_paper_count] forKey:@"paper"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_scissors_count] forKey:@"scissors"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:total_rock_count] forKey:@"rock"];
+//    [motionCountObj setObject:[NSNumber numberWithInt:0] forKey:@"trample"];
+//
+//    NSMutableDictionary * movements = [NSMutableDictionary new];
+//    [movements setObject:motionCountObj forKey:@"movements"];
+//    //游戏总共经历的时长(秒数)
+//    NSTimeInterval durationTime = [[NSDate date] timeIntervalSinceDate:gameInfo.firstTime];
+//    [movements setObject:[NSNumber numberWithInt:durationTime] forKey:@"duration"];
+//
+//    NSDictionary * dict = [NSDictionary dictionaryWithDictionary:movements];
+//        
+//    //归档缓存
+//    [IOS_NSUSERDEFAULT setObject:dict forKey:IOSSDK_MOTIONCOUNT];
+//    [IOS_NSUSERDEFAULT synchronize];
+//    
+}
+
+@end

+ 19 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/DebugTool.h

@@ -0,0 +1,19 @@
+//
+//  DebugTool.h
+//  Unity-iPhone
+//
+//  Created by duowan123 on 2022/5/7.
+//
+
+#import <Foundation/Foundation.h>
+#import "SocketRocketUtility.h"
+#import "DebugView.h"
+#import "ShoesInfo.h"
+
+@interface DebugTool : NSObject
+
++(void)debugMessage:(NSString*)message shoesInfo:(ShoesInfo*)shoesInfo;
+
+
+@end
+

+ 71 - 0
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/DebugTool.m

@@ -0,0 +1,71 @@
+//
+//  DebugTool.m
+//  Unity-iPhone
+//
+//  Created by duowan123 on 2022/5/7.
+//
+
+#import "DebugTool.h"
+
+@implementation DebugTool
++(void)debugMessage:(NSString*)message shoesInfo:(ShoesInfo*)shoesInfo{
+
+    if (message.length <1){
+        return;
+    }
+   
+    //上传即使动作数据
+    [[SocketRocketUtility sharedInstance] sendData:nil withRequestURI:message];
+    if (DebugViewInstance.RSSI==nil){
+        DebugViewInstance.RSSI = 0;
+    }
+     message = [NSString stringWithFormat:@"%@,%@",message,DebugViewInstance.RSSI];
+    DebugViewInstance.tempStepString = [NSString stringWithFormat:@"%@\n",message];
+    if (DebugViewInstance.tempStepString!=nil && DebugViewInstance.tempStepString.length>1){
+        [DebugViewInstance writeFileToplist];
+    }
+    
+    /********************调试窗数据 *****************/
+    NSArray *aArray = [message componentsSeparatedByString:@","];
+    if (aArray == nil || [aArray isKindOfClass:[NSNull class]] || aArray.count<30){
+        return;
+    }
+//    NSLog(@"aArray == %@",aArray);
+//    dispatch_async(dispatch_get_main_queue(), ^{
+        if (DebugViewInstance.testLabel!=nil){
+            DebugViewInstance.testLabel.text = [NSString stringWithFormat:@"right:[%@,%@,%@] [%@,%@,%@] [%@,%@,%@] [%@,%@,%@] \nleft:[%@,%@,%@] [%@,%@,%@] [%@,%@,%@] [%@,%@,%@]  \nrssi:[%@ %@] ts:%@ \n步数:[%@ %@][%d %d] \n步频:[%d:%d  %d:%d] ",aArray[0],aArray[1],aArray[2],aArray[3],aArray[4],aArray[5],aArray[6],aArray[7],aArray[8],aArray[9],aArray[10],aArray[11],aArray[12],aArray[13],aArray[14],aArray[15],aArray[16],aArray[17],aArray[18],aArray[19],aArray[20],aArray[21],aArray[22],aArray[23],DebugViewInstance.RSSI,aArray[26],aArray[27],aArray[28],aArray[29],shoesInfo.rightStepCount,shoesInfo.leftStepCount,shoesInfo.rightStepStatus,shoesInfo.rightStepFreq,shoesInfo.leftStepStatus,shoesInfo.leftStepFreq];
+        }
+//    });
+    
+    /********************颖嘉+的ts丢包数据 *****************/
+    NSString * tsString =  aArray[27];
+//    NSLog(@"剑波 getGameDataStr 时间戳 ==============>> %@\n",tsString);
+    int tsInt = [tsString  intValue];
+    int total;
+    if (DebugViewInstance.currentTS != 1000){//颖嘉初始值未知 ios初始值==1000
+        //1....255
+        if (tsInt > DebugViewInstance.currentTS){
+             total = tsInt - DebugViewInstance.currentTS - 1;
+        }
+        //255...1
+        if (tsInt < DebugViewInstance.currentTS){
+            if (tsInt ==0){
+                total = (255-DebugViewInstance.currentTS) + tsInt + 1 - 1;
+            }else{
+                total = (255-DebugViewInstance.currentTS) + tsInt - 1;
+            }
+        }
+        if (total > 10){
+            NSLog(@"getGameDataStr 丢包 ================================>> %d",total);
+            dispatch_async(dispatch_get_main_queue(), ^{
+                AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
+                [PopupView showCusHUDA:[NSString stringWithFormat:@"丢包数: %d",total]];
+            });
+        }
+    }
+//    NSLog(@"tsInt = %d  currentTS = %d total = %d",tsInt,self.currentTS,total);
+    DebugViewInstance.currentTS = tsInt;
+    
+}
+
+@end

+ 0 - 157
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/GameObjc.h

@@ -1,157 +0,0 @@
-//
-//#import <Foundation/Foundation.h>
-//
-//NS_ASSUME_NONNULL_BEGIN
-//
-//@interface GameObjc : NSObject
-//+ (instancetype)new NS_UNAVAILABLE;
-//- (instancetype)init NS_UNAVAILABLE;
-//- (instancetype)initWithGametype:(int)gametype NS_DESIGNATED_INITIALIZER;
-//
-//- (void)gameProcess:(int)timeStamp
-//           rightPos:(int *)rightPos
-//           rightAtt:(int *)rightAtt
-//           rightAcc:(int *)rightAcc
-//          rightZupt:(int)rightZupt
-//        right_press:(int)right_press
-//            leftPos:(int *)leftPos
-//            leftAtt:(int *)leftAtt
-//           leftAcc:(int *)leftAcc
-//           leftZupt:(int)leftZupt
-//         left_press:(int)left_press
-//               jump:(int)jump
-//               down:(int)down
-//               rssi:(int)rssi
-//         girl_shoes:(int)girl_shoes;
-//
-//- (void)runGameProcess:(int)timeStamp
-//              rightPos:(int *)rightPos
-//              rightAtt:(int *)rightAtt
-//              rightAcc:(int *)rightAcc
-//             rightZupt:(int)rightZupt
-//           right_press:(int)right_press
-//               leftPos:(int *)leftPos
-//               leftAtt:(int *)leftAtt
-//              leftAcc:(int *)leftAcc
-//              leftZupt:(int)leftZupt
-//            left_press:(int)left_press
-//                  jump:(int)jump
-//                  down:(int)down
-//            girl_shoes:(int)girl_shoes;
-//
-//- (void)getGameResult:(int *)matrix;
-//
-//- (int)getStepFreq:(int)leftOrRight;
-//- (int)getStepStatus:(int)leftOrRight;
-//- (int)getStepCount:(int)leftOrRight;
-//
-//- (float)getGamePos:(int)left_or_right index:(int)index;
-//
-//- (void)start;
-//- (void)end;
-//- (void)isBingo;
-//-(int)getInteractionCMD;
-//-(NSString*)getGameDataStr;
-//-(void)GameProcessBuf:(uint8_t*)buff length:(int)length;
-//
-///// 向外提供,手动释放,如需要,可调用
-//- (void)handRelease;
-//
-//@end
-//
-//@interface RunGameObjc : NSObject
-//- (int)getResultLeftRight:(int *)pos
-//                   devNum:(short)devNum;
-//- (int)getResultJump:(short)jump;
-//- (int)getResultDown:(short)down;
-//- (void)setResultConLeft:(short)zupt;
-//- (void)setResultConRight:(short)zupt;
-//- (int)getResultLeft:(int *)pos girl_shoes:(int)girl_shoes;
-//- (int)getResultRight:(int *)pos girl_shoes:(int)girl_shoes;
-//- (void)process:(int)timeStamp
-//       rightPos:(int *)rightPos
-//       rightAtt:(int *)rightAtt
-//       rightAcc:(int *)rightAcc
-//      rightZupt:(int)rightZupt
-//    right_press:(int)right_press
-//        leftPos:(int *)leftPos
-//        leftAtt:(int *)leftAtt
-//       leftAcc:(int *)leftAcc
-//       leftZupt:(int)leftZupt
-//     left_press:(int)left_press
-//           jump:(int)jump
-//           down:(int)down
-//     girl_shoes:(int)girl_shoes;
-//- (void)getResult:(int *)dec;
-///// 向外提供,手动释放
-//- (void)handRelease;
-//@end
-//
-//@interface DanceGameObjc : NSObject
-////- (int)gamePositionProcess:(int *)pos
-////                   stepPos:(int *)stepPos
-////                      rssi:(int)rssi
-////               hostOrSlave:(short)hostOrSlave;
-////- (void)gameBoundary:(int *)globalPos;
-////- (int)getDirectionFloat:(float *)pos rssi:(int)rssi;
-////- (short)danceGameProcess:(int *)pos
-////                     zupt:(short)zupt
-////                     rssi:(int)rssi
-////              hostOrSlave:(short)hostOrSlave;
-//- (void)process:(int *)rightPos
-//       rightAtt:(int *)rightAtt
-//      rightZupt:(int)rightZupt
-//    right_press:(int)right_press
-//        leftPos:(int *)leftPos
-//        leftAtt:(int *)leftAtt
-//       leftZupt:(int)leftZupt
-//     left_press:(int)left_press
-//           jump:(int)jump
-//           down:(int)down
-//           rssi:(int)rssi;
-//
-//- (void)getResult:(int *)matrix;
-////- (float)getRssiDistance:(int)rssi;
-////- (int)savePosAndRssi:(int *)pos
-////                 zupt:(short)zupt
-////                 rssi:(int)rssi
-////          hostOrSlave:(short)hostOrSlave;
-///// 向外提供,手动释放,如需要,可调用
-//- (void)handRelease;
-//@end
-//
-//
-//@interface FootStepObjc : NSObject
-////pos开辟3个空间
-//- (void)stepCal:(int)timeStamp posList:(int *)pos zupt:(int)zupt girl_shoes:(int)girl_shoes;
-//- (int)getStepFreq;
-//- (int)getStepStatus;
-//- (int)getStepCount;
-///// 向外提供,手动释放,如需要,可调用
-//- (void)handRelease;
-//@end
-//
-//
-//@interface InertialTrajProcessObjc : NSObject
-//- (void)trajRotate:(int *)pos;
-////rotateMatrix只能开辟4个空间
-//- (void)trajRotate:(int *)pos
-//      rotateMatrix:(float *)rotateMatrix;
-//- (void)resetHeading:(short)heading;
-///// 向外提供,手动释放
-//- (void)handRelease;
-//@end
-//
-////@interface OriginTrajObj : NSObject
-////- (void)process:(int*)right_pos
-////        right_att:(int*)right_att
-////        right_zupt:(int)right_zupt
-////        left_pos:(int*)left_pos
-////        left_att:(int*)left_att
-////        left_zupt:(int) left_zupt;
-////
-////- (float)getGamePos:(int)left_or_right
-////               index:(int)index;
-////@end
-//
-//NS_ASSUME_NONNULL_END

+ 0 - 387
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/GameObjc.mm

@@ -1,387 +0,0 @@
-//
-//#import "GameObjc.h"
-//#include "Game.h"
-//#include "DanceGame.h"
-//#include "FootStep.h"
-//#include "InertialTrajProcess.h"
-////#include "OriginTraj.h"
-////#include <math.h>
-//
-//#define NSLog(format, ...) printf("TIME:%s FILE:%s(%d行) FUNCTION:%s \n %s\n\n",__TIME__, [[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, __PRETTY_FUNCTION__, [[NSString stringWithFormat:(format), ##__VA_ARGS__] UTF8String])
-//
-//
-//@interface GameObjc()
-//{
-//@private
-//    Game *game;
-//    int gametype;
-//}
-//@end
-//
-//@implementation GameObjc
-//
-//- (instancetype)initWithGametype:(int)gametype{
-//    self = [super init];
-//    if (self){
-//        gametype = gametype;
-//        game = new Game(gametype);
-//    }
-//    return self;
-//}
-//
-//- (void)gameProcess:(int)timeStamp
-//           rightPos:(int *)rightPos
-//           rightAtt:(int *)rightAtt
-//           rightAcc:(int *)rightAcc
-//          rightZupt:(int)rightZupt
-//        right_press:(int)right_press
-//            leftPos:(int *)leftPos
-//            leftAtt:(int *)leftAtt
-//           leftAcc:(int *)leftAcc
-//           leftZupt:(int)leftZupt
-//         left_press:(int)left_press
-//               jump:(int)jump
-//               down:(int)down
-//               rssi:(int)rssi
-//         girl_shoes:(int)girl_shoes{
-//    game->GameProcess(timeStamp, rightPos, rightAtt, rightAcc,rightZupt,right_press,leftPos, leftAtt, leftAcc,leftZupt, left_press,jump,down, rssi,girl_shoes);
-//}
-//
-//- (void)runGameProcess:(int)timeStamp
-//              rightPos:(int *)rightPos
-//              rightAtt:(int *)rightAtt
-//              rightAcc:(int *)rightAcc
-//             rightZupt:(int)rightZupt
-//           right_press:(int)right_press
-//               leftPos:(int *)leftPos
-//               leftAtt:(int *)leftAtt
-//              leftAcc:(int *)leftAcc
-//              leftZupt:(int)leftZupt
-//            left_press:(int)left_press
-//                  jump:(int)jump
-//                  down:(int)down
-//            girl_shoes:(int)girl_shoes{
-//    game->RunGameProcess(rightPos, rightAtt, rightAcc,rightZupt,right_press,leftPos, leftAtt, leftAcc,leftZupt, left_press,jump,down,girl_shoes);
-//
-//}
-//
-//- (void)getGameResult:(int *)matrix{
-//    game->getGameResult(matrix);
-//}
-//
-//- (int)getStepFreq:(int)leftOrRight{
-//    return game->getStepFreq(leftOrRight);
-//}
-//- (int)getStepStatus:(int)leftOrRight{
-//    return game->getStepStatus(leftOrRight);
-//}
-//- (int)getStepCount:(int)leftOrRight{
-//    return game->getStepCount(leftOrRight);
-//}
-//
-//- (float)getGamePos:(int)left_or_right index:(int)index{
-//    return game->getGamePos(left_or_right, index);
-//}
-//
-//- (void)start{
-//    game->start(nil);
-//}
-//- (void)end{
-//    game->end();
-//}
-//
-//- (void)isBingo{
-//    game->isBingo();
-//}
-//
-//-(int)getInteractionCMD{
-//    return game->getInteractionCMD();
-//}
-//
-//-(NSString*)getGameDataStr{
-//
-////    NSString * string =  [NSString stringWithCString:game->getGameDataStr().c_str() encoding:[NSString defaultCStringEncoding]];
-//    NSString * aString = [NSString stringWithUTF8String:game->getGameDataStr().c_str()];
-////    NSLog(@"剑波需要的数据1 %@",string);
-////    NSLog(@"剑波需要的数据2 %@",aString);
-//    return aString;
-//
-//}
-//
-//-(void)GameProcessBuf:(uint8_t*)buff length:(int)length{
-//
-//    game->GameProcessBuf(buff, length);
-//
-//}
-//
-///// 向外提供,手动释放
-//- (void)handRelease{
-//    delete game;
-//}
-//- (void)dealloc{
-//    delete game;
-//}
-//
-//@end
-//
-//@interface RunGameObjc ()
-//{
-//    @private
-//    RunGame * runGame;
-//}
-//@end
-//
-//@implementation RunGameObjc
-//- (instancetype)init{
-//    self = [super init];
-//    if (self) {
-//        runGame = new RunGame();
-//    }
-//    return self;
-//}
-//- (int)getResultLeftRight:(int *)pos
-//                   devNum:(short)devNum{
-//    return runGame->getResultLeftRight(pos, devNum);
-//}
-//- (int)getResultJump:(short)jump{
-//    return runGame->getResultJump(jump);
-//}
-//- (int)getResultDown:(short)down{
-//    return runGame->getResultDown(down);
-//}
-//- (void)setResultConLeft:(short)zupt{
-//    runGame->setResultConLeft(zupt);
-//}
-//- (void)setResultConRight:(short)zupt{
-//     runGame->setResultConRight(zupt);
-//}
-//- (int)getResultLeft:(int *)pos girl_shoes:(int)girl_shoes{
-//    return runGame->getResultLeft(pos,girl_shoes);
-//}
-//- (int)getResultRight:(int *)pos girl_shoes:(int)girl_shoes{
-//    return runGame->getResultRight(pos,girl_shoes);
-//}
-//
-//- (void)process:(int)timeStamp
-//       rightPos:(int *)rightPos
-//       rightAtt:(int *)rightAtt
-//       rightAcc:(int *)rightAcc
-//      rightZupt:(int)rightZupt
-//    right_press:(int)right_press
-//        leftPos:(int *)leftPos
-//        leftAtt:(int *)leftAtt
-//       leftAcc:(int *)leftAcc
-//       leftZupt:(int)leftZupt
-//     left_press:(int)left_press
-//           jump:(int)jump
-//           down:(int)down
-//     girl_shoes:(int)girl_shoes{
-//
-//    runGame->Process(rightPos, rightAtt, rightAcc,rightZupt,right_press,leftPos, leftAtt, leftAcc,leftZupt, left_press,jump,down,girl_shoes);
-//
-////    Process(int* right_pos, int* right_att, int* right_acc, int right_zupt, int right_press,
-////                 int* left_pos, int* left_att, int* left_acc, int left_zupt, int left_press,
-////                 int jump, int down, int girl_shoes)
-//
-//}
-//
-//- (void)getResult:(int *)dec{
-//    runGame->getResult(dec);
-//}
-//
-///// 向外提供,手动释放
-//- (void)handRelease{
-//    delete runGame;
-//}
-//- (void)dealloc{
-//    delete runGame;
-//}
-//@end
-//
-//@interface DanceGameObjc()
-//{
-//@private
-//    DanceGame *danceGame;
-//}
-//@end
-//
-//@implementation DanceGameObjc
-//- (instancetype)init{
-//    self = [super init];
-//    if (self) {
-//        danceGame = new DanceGame();
-//    }
-//    return self;
-//}
-//
-////- (int)gamePositionProcess:(int *)pos
-////                   stepPos:(int *)stepPos
-////                      rssi:(int)rssi
-////               hostOrSlave:(short)hostOrSlave{
-////    //SInt16 ==> short*
-////    return  danceGame->game_position_process(pos, stepPos, rssi, hostOrSlave);
-////}
-//
-////- (void)gameBoundary:(int *)globalPos{
-////    danceGame->game_boundary(globalPos);
-////}
-////- (int)getDirectionFloat:(float *)pos
-////                    rssi:(int)rssi{
-////    //float==>32位
-////    return  danceGame->getDirectionFloat(pos,rssi);
-////}
-////- (short)danceGameProcess:(int *)pos
-////                     zupt:(short)zupt
-////                     rssi:(int)rssi
-////              hostOrSlave:(short)hostOrSlave{
-////    return danceGame->dance_game_process(pos, zupt, rssi, hostOrSlave);
-////}
-//
-//- (void)process:(int *)rightPos
-//       rightAtt:(int *)rightAtt
-//       rightAcc:(int *)rightAcc
-//      rightZupt:(int)rightZupt
-//    right_press:(int)right_press
-//        leftPos:(int *)leftPos
-//        leftAtt:(int *)leftAtt
-//       leftAcc:(int *)leftAcc
-//       leftZupt:(int)leftZupt
-//     left_press:(int)left_press
-//           jump:(int)jump
-//           down:(int)down
-//           rssi:(int)rssi{
-//    danceGame->Process(rightPos, rightAtt,rightAcc, rightZupt, right_press,leftPos, leftAtt,leftAtt, leftZupt, left_press,jump, down, rssi);
-//}
-//
-//- (void)getResult:(int *)matrix{
-//    danceGame->getResult(matrix);
-//}
-////- (float)getRssiDistance:(int)rssi{
-////    return danceGame->getRssiDistance(rssi);
-////}
-////- (int)savePosAndRssi:(int *)pos
-////                 zupt:(short)zupt
-////                 rssi:(int)rssi
-////          hostOrSlave:(short)hostOrSlave{
-////    return danceGame->savePosAndRssi(pos, zupt, rssi, hostOrSlave);
-////}
-///// 向外提供,手动释放
-//- (void)handRelease{
-//    delete danceGame;
-//}
-//- (void)dealloc{
-//    delete danceGame;
-//}
-//@end
-//
-//@interface FootStepObjc ()
-//{
-//@private
-//    FootStep *footStep;
-//}
-//@end
-//
-//@implementation FootStepObjc
-//
-//- (instancetype)init{
-//    self = [super init];
-//    if (self) {
-//        footStep = new FootStep();
-//    }
-//    return self;
-//}
-////pos开辟3个空间
-////- (void)stepCal:(int)timeStamp posList:(int *)pos zupt:(int)zupt girl_shoes:(int)girl_shoes{
-//    footStep->stepCal(timeStamp, pos, zupt,girl_shoes);
-//}
-//- (int)getStepFreq{
-//    return footStep->getStepFreq();
-//}
-//- (int)getStepStatus{
-//    return footStep->getStepStatus();
-//}
-//- (int)getStepCount{
-//    return footStep->getStepCount();
-//}
-//- (void)dealloc{
-//    delete footStep;
-//}
-///// 向外提供,手动释放
-//- (void)handRelease{
-//    delete footStep;
-//}
-//
-//@end
-//
-//@interface InertialTrajProcessObjc ()
-//{
-//    @private
-//    InertialTrajProcess * inertialTrajProcess;
-//}
-//@end
-//@implementation InertialTrajProcessObjc
-//- (instancetype)init{
-//    self = [super init];
-//    if (self) {
-//        inertialTrajProcess = new InertialTrajProcess();
-//    }
-//    return self;
-//}
-//- (void)trajRotate:(int *)pos{
-//    inertialTrajProcess->TrajRotate(pos);
-//}
-////rotateMatrix只能开辟4个空间
-//- (void)trajRotate:(int *)pos
-//      rotateMatrix:(float *)rotateMatrix{
-//    inertialTrajProcess->TrajRotate(pos,rotateMatrix);
-//}
-//- (void)resetHeading:(short)heading{
-//    inertialTrajProcess->ResetHeading(heading);
-//}
-///// 向外提供,手动释放
-//- (void)handRelease{
-//    delete inertialTrajProcess;
-//}
-//- (void)dealloc{
-//    delete inertialTrajProcess;
-//}
-//@end
-//
-//
-////@interface OriginTrajObj ()
-////{
-////    @private
-////    OriginTraj * originTraj;
-////}
-////@end
-////@implementation OriginTrajObj
-////- (instancetype)init{
-////    self = [super init];
-////    if (self){
-////        originTraj = new OriginTraj();
-////    }
-////    return self;
-////}
-////
-////- (void)process:(int*)right_pos
-////        right_att:(int*)right_att
-////        right_zupt:(int)right_zupt
-////        left_pos:(int*)left_pos
-////        left_att:(int*)left_att
-////      left_zupt:(int) left_zupt{
-////    originTraj->Process(right_pos, right_att, right_zupt, left_pos, left_att, left_zupt);
-////}
-////
-////- (float)getGamePos:(int)left_or_right
-////              index:(int)index{
-////    return originTraj->getGamePos(left_or_right, index);
-////}
-////
-/////// 向外提供,手动释放
-////- (void)handRelease{
-////    delete originTraj;
-////}
-////- (void)dealloc{
-////    delete originTraj;
-////}
-////@end

+ 1 - 3
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/Tool/MYFactoryManager.h

@@ -19,7 +19,6 @@
 #import <CoreBluetooth/CoreBluetooth.h>
 #import "BTDataProcess.h"
 //蓝牙提供的sdk算法
-#import "GameObjc.h"
 #define LEFT_FOOT_OC 1
 #define RIGHT_FOOT_OC 2
 //蓝牙框架封装
@@ -64,8 +63,7 @@
 #define IOSSDK_USERINFO @"iosSdk_userInfo"
 //缓存的步频数据
 #define IOSSDK_MOTIONCOUNT @"iosSdk_motionCount"
-//游戏组数时间戳 参数是play_gorup
-#define IOSSDK_TIMESTAMP @"iosSdk_timestamp"
+
 //custom System UserDefaults
 #define IOS_NSUSERDEFAULT [NSUserDefaults standardUserDefaults]
 #define CUS_NOTIFICATIONCENTER [NSNotificationCenter defaultCenter]

+ 2 - 2
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/UI/DebugView.m

@@ -76,8 +76,8 @@ static DebugView* instance = nil;
 
     //
     if ([UIApplication sharedApplication].keyWindow != nil){
-        [[UIApplication sharedApplication].keyWindow addSubview:self.uploadButton];
-        [[UIApplication sharedApplication].keyWindow addSubview:self.clearnButton];
+//        [[UIApplication sharedApplication].keyWindow addSubview:self.uploadButton];
+//        [[UIApplication sharedApplication].keyWindow addSubview:self.clearnButton];
         [[UIApplication sharedApplication].keyWindow addSubview:self.testLabel];
     }
     

+ 0 - 3
DanceGame/Classes/FitfunTool/FitfunSDK_V2.0/KpSupport/SDK/UI/SearchDeviceViewController.m

@@ -13,7 +13,6 @@
 @interface SearchDeviceViewController ()<ConnectDeviceDelegate>
 //
 @property (strong, nonatomic)ShoesCarouselView * shoesCarouselView;
-
 //button
 @property(nonatomic,strong)UIButton * nextButton;//
 @property(nonatomic,strong)UIButton * lastButton;//
@@ -30,7 +29,6 @@
 -(void)viewDidLoad{
     
     [super viewDidLoad];
-    
     [self initUI];
     
 }
@@ -120,7 +118,6 @@
     
     NSArray * array = @[@"gamepop_leftarrow_notes",@"gamepop_rihgtarrow_notes",@"gamepop_close_notes",@"gamepop_determine_notes"];
     NSArray * titleArray = @[@"左踩 · 上一个",@"右踩 · 下一个",@"左垫脚 · 关闭",@"右垫脚 · 确认"];
-
     for (int i =0; i<4; i++){
         UIButton * searchButton = [UIButton buttonWithType:UIButtonTypeCustom];
         searchButton.frame = CGRectMake(SCREEN_WIDTH-SCALEoefficient(62+20+20)*(4-i),SCALEoefficient(23), SCALEoefficient(62+20), SCALEoefficient(20));

+ 31 - 31
DanceGame/Unity-iPhone.xcodeproj/project.pbxproj

@@ -193,7 +193,8 @@
 		9326E1A6281A3DD3006ADC6F /* GameInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 9326E1A5281A3DD3006ADC6F /* GameInfo.m */; };
 		9354476027F57F520055C921 /* StepVel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354475F27F57F520055C921 /* StepVel.cpp */; };
 		9354476327F57FA50055C921 /* Kongfu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354476227F57FA50055C921 /* Kongfu.cpp */; };
-		9364CF602823A39000E63D51 /* MotionCountObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 9364CF5F2823A39000E63D51 /* MotionCountObj.m */; };
+		9364CF652826156700E63D51 /* DebugTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 9364CF642826156700E63D51 /* DebugTool.m */; };
+		9364CF6828261B0D00E63D51 /* CacheTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 9364CF6728261B0D00E63D51 /* CacheTool.m */; };
 		937CC93327B4B9AD00B9000A /* DefaultLandscape.png in Resources */ = {isa = PBXBuildFile; fileRef = 937CC93227B4B9AD00B9000A /* DefaultLandscape.png */; };
 		937CC93527B4BA9500B9000A /* 2208x1142.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 937CC93427B4BA9500B9000A /* 2208x1142.jpg */; };
 		937F5BAD27FD2B210071BC44 /* NSArray+AvoidCrash.m in Sources */ = {isa = PBXBuildFile; fileRef = 937F5B9627FD2B200071BC44 /* NSArray+AvoidCrash.m */; };
@@ -299,7 +300,6 @@
 		93B6ED2827DB2B180033A027 /* loading.png in Resources */ = {isa = PBXBuildFile; fileRef = 93B6ECC227DB2B180033A027 /* loading.png */; };
 		93B6ED2927DB2B180033A027 /* AlgorithmTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 93B6ECC527DB2B180033A027 /* AlgorithmTool.m */; };
 		93B6ED2A27DB2B180033A027 /* UIColor+Hex.m in Sources */ = {isa = PBXBuildFile; fileRef = 93B6ECC627DB2B180033A027 /* UIColor+Hex.m */; };
-		93B6ED2B27DB2B180033A027 /* GameObjc.mm in Sources */ = {isa = PBXBuildFile; fileRef = 93B6ECCB27DB2B180033A027 /* GameObjc.mm */; };
 		93B6ED2C27DB2B180033A027 /* MYFactoryManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 93B6ECCC27DB2B180033A027 /* MYFactoryManager.m */; };
 		93B6ED2D27DB2B180033A027 /* UIView+ST.m in Sources */ = {isa = PBXBuildFile; fileRef = 93B6ECCD27DB2B180033A027 /* UIView+ST.m */; };
 		95C14FE9BED3975E713BA10E /* Il2CppGenericMethodDefinitions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7F9B4A2295D8624A07C3365B /* Il2CppGenericMethodDefinitions.cpp */; };
@@ -663,8 +663,10 @@
 		9354476127F57F9D0055C921 /* Kongfu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Kongfu.h; sourceTree = "<group>"; };
 		9354476227F57FA50055C921 /* Kongfu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Kongfu.cpp; sourceTree = "<group>"; };
 		935642749A1C0E55C636858E /* Bulk_Assembly-CSharp_1.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "Bulk_Assembly-CSharp_1.cpp"; path = "Classes/Native/Bulk_Assembly-CSharp_1.cpp"; sourceTree = SOURCE_ROOT; };
-		9364CF5E2823A39000E63D51 /* MotionCountObj.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MotionCountObj.h; path = ../../../../../../../RunGame/SDK/BLE/MotionCountObj.h; sourceTree = "<group>"; };
-		9364CF5F2823A39000E63D51 /* MotionCountObj.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = MotionCountObj.m; path = ../../../../../../../RunGame/SDK/BLE/MotionCountObj.m; sourceTree = "<group>"; };
+		9364CF632826156700E63D51 /* DebugTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DebugTool.h; sourceTree = "<group>"; };
+		9364CF642826156700E63D51 /* DebugTool.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DebugTool.m; sourceTree = "<group>"; };
+		9364CF6628261B0D00E63D51 /* CacheTool.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CacheTool.h; sourceTree = "<group>"; };
+		9364CF6728261B0D00E63D51 /* CacheTool.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CacheTool.m; sourceTree = "<group>"; };
 		937CC93227B4B9AD00B9000A /* DefaultLandscape.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = DefaultLandscape.png; sourceTree = "<group>"; };
 		937CC93427B4BA9500B9000A /* 2208x1142.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = 2208x1142.jpg; sourceTree = "<group>"; };
 		937F5B9627FD2B200071BC44 /* NSArray+AvoidCrash.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+AvoidCrash.m"; sourceTree = "<group>"; };
@@ -823,14 +825,12 @@
 		93B6ECC027DB2B180033A027 /* 图像 45@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "图像 45@3x.png"; sourceTree = "<group>"; };
 		93B6ECC127DB2B180033A027 /* 图像 45.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "图像 45.png"; sourceTree = "<group>"; };
 		93B6ECC227DB2B180033A027 /* loading.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loading.png; sourceTree = "<group>"; };
-		93B6ECC427DB2B180033A027 /* GameObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GameObjc.h; sourceTree = "<group>"; };
 		93B6ECC527DB2B180033A027 /* AlgorithmTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AlgorithmTool.m; sourceTree = "<group>"; };
 		93B6ECC627DB2B180033A027 /* UIColor+Hex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Hex.m"; sourceTree = "<group>"; };
 		93B6ECC727DB2B180033A027 /* UIView+ST.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIView+ST.h"; sourceTree = "<group>"; };
 		93B6ECC827DB2B180033A027 /* MYFactoryManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MYFactoryManager.h; sourceTree = "<group>"; };
 		93B6ECC927DB2B180033A027 /* UIColor+Hex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Hex.h"; sourceTree = "<group>"; };
 		93B6ECCA27DB2B180033A027 /* AlgorithmTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AlgorithmTool.h; sourceTree = "<group>"; };
-		93B6ECCB27DB2B180033A027 /* GameObjc.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = GameObjc.mm; sourceTree = "<group>"; };
 		93B6ECCC27DB2B180033A027 /* MYFactoryManager.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MYFactoryManager.m; sourceTree = "<group>"; };
 		93B6ECCD27DB2B180033A027 /* UIView+ST.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIView+ST.m"; sourceTree = "<group>"; };
 		93E62D98276C87D3006975D1 /* cn.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; name = cn.entitlements; path = "Unity-iPhone/cn.entitlements"; sourceTree = "<group>"; };
@@ -1326,20 +1326,20 @@
 		93B6EC2227DB2B170033A027 /* CarouselView */ = {
 			isa = PBXGroup;
 			children = (
-				93B6EC2327DB2B170033A027 /* TXCarouselCollectionViewCell.xib */,
-				93B6EC2427DB2B170033A027 /* TXCarouselViewLayout.h */,
 				93B6EC2527DB2B170033A027 /* ShoesCarouselView.h */,
-				93B6EC2627DB2B170033A027 /* TXCarouselCellModel.m */,
-				93B6EC2727DB2B170033A027 /* TXCarouselCollectionViewCell.h */,
-				93B6EC2827DB2B170033A027 /* ShoesCollectionCell.m */,
-				93B6EC2927DB2B170033A027 /* ShoesCollectionCell.xib */,
-				93B6EC2A27DB2B170033A027 /* TXCarouselView.h */,
 				93B6EC2B27DB2B170033A027 /* ShoesCarouselView.m */,
-				93B6EC2C27DB2B170033A027 /* TXCarouselViewLayout.m */,
 				93B6EC2D27DB2B170033A027 /* ShoesCollectionCell.h */,
-				93B6EC2E27DB2B170033A027 /* TXCarouselCollectionViewCell.m */,
+				93B6EC2827DB2B170033A027 /* ShoesCollectionCell.m */,
+				93B6EC2927DB2B170033A027 /* ShoesCollectionCell.xib */,
 				93B6EC2F27DB2B170033A027 /* TXCarouselCellModel.h */,
+				93B6EC2627DB2B170033A027 /* TXCarouselCellModel.m */,
+				93B6EC2727DB2B170033A027 /* TXCarouselCollectionViewCell.h */,
+				93B6EC2E27DB2B170033A027 /* TXCarouselCollectionViewCell.m */,
+				93B6EC2327DB2B170033A027 /* TXCarouselCollectionViewCell.xib */,
+				93B6EC2A27DB2B170033A027 /* TXCarouselView.h */,
 				93B6EC3027DB2B170033A027 /* TXCarouselView.m */,
+				93B6EC2427DB2B170033A027 /* TXCarouselViewLayout.h */,
+				93B6EC2C27DB2B170033A027 /* TXCarouselViewLayout.m */,
 			);
 			path = CarouselView;
 			sourceTree = "<group>";
@@ -1384,12 +1384,6 @@
 			children = (
 				93B6EC5B27DB2B170033A027 /* BTDataProcess.h */,
 				93B6EC5E27DB2B170033A027 /* BTDataProcess.mm */,
-				9326E1A1281A3DBD006ADC6F /* ShoesInfo.h */,
-				9326E1A2281A3DBD006ADC6F /* ShoesInfo.m */,
-				9326E1A4281A3DD3006ADC6F /* GameInfo.h */,
-				9326E1A5281A3DD3006ADC6F /* GameInfo.m */,
-				9364CF5E2823A39000E63D51 /* MotionCountObj.h */,
-				9364CF5F2823A39000E63D51 /* MotionCountObj.m */,
 				93B6EC6327DB2B170033A027 /* BTDataAnalysis.h */,
 				93B6EC6527DB2B170033A027 /* BTDataAnalysis.mm */,
 				93B6EC6027DB2B170033A027 /* BTDataSend.h */,
@@ -1407,6 +1401,10 @@
 			children = (
 				93B6EC6927DB2B170033A027 /* UserFriendsModel.m */,
 				93B6EC6A27DB2B170033A027 /* UserFriendsModel.h */,
+				9326E1A1281A3DBD006ADC6F /* ShoesInfo.h */,
+				9326E1A2281A3DBD006ADC6F /* ShoesInfo.m */,
+				9326E1A4281A3DD3006ADC6F /* GameInfo.h */,
+				9326E1A5281A3DD3006ADC6F /* GameInfo.m */,
 			);
 			path = "Entity  ";
 			sourceTree = "<group>";
@@ -1546,18 +1544,20 @@
 		93B6ECC327DB2B180033A027 /* Tool */ = {
 			isa = PBXGroup;
 			children = (
-				93B6ECC427DB2B180033A027 /* GameObjc.h */,
+				93B6ECCA27DB2B180033A027 /* AlgorithmTool.h */,
 				93B6ECC527DB2B180033A027 /* AlgorithmTool.m */,
-				93B6ECC627DB2B180033A027 /* UIColor+Hex.m */,
-				93B6ECC727DB2B180033A027 /* UIView+ST.h */,
+				937F5BB827FD2D4F0071BC44 /* BugTool.h */,
+				937F5BB927FD2D4F0071BC44 /* BugTool.m */,
+				9364CF632826156700E63D51 /* DebugTool.h */,
+				9364CF642826156700E63D51 /* DebugTool.m */,
+				9364CF6628261B0D00E63D51 /* CacheTool.h */,
+				9364CF6728261B0D00E63D51 /* CacheTool.m */,
 				93B6ECC827DB2B180033A027 /* MYFactoryManager.h */,
-				93B6ECC927DB2B180033A027 /* UIColor+Hex.h */,
-				93B6ECCA27DB2B180033A027 /* AlgorithmTool.h */,
-				93B6ECCB27DB2B180033A027 /* GameObjc.mm */,
 				93B6ECCC27DB2B180033A027 /* MYFactoryManager.m */,
+				93B6ECC927DB2B180033A027 /* UIColor+Hex.h */,
+				93B6ECC627DB2B180033A027 /* UIColor+Hex.m */,
+				93B6ECC727DB2B180033A027 /* UIView+ST.h */,
 				93B6ECCD27DB2B180033A027 /* UIView+ST.m */,
-				937F5BB827FD2D4F0071BC44 /* BugTool.h */,
-				937F5BB927FD2D4F0071BC44 /* BugTool.m */,
 			);
 			path = Tool;
 			sourceTree = "<group>";
@@ -2077,6 +2077,7 @@
 				172B45A2B0C52DBE8F0BB1F5 /* Bulk_Assembly-CSharp_26.cpp in Sources */,
 				93B6ED2D27DB2B180033A027 /* UIView+ST.m in Sources */,
 				F15F48EF858EB1475CABEF98 /* Bulk_Assembly-CSharp_27.cpp in Sources */,
+				9364CF652826156700E63D51 /* DebugTool.m in Sources */,
 				2E364CEA8B2AC9B3591A2611 /* Bulk_Assembly-CSharp_28.cpp in Sources */,
 				9354476027F57F520055C921 /* StepVel.cpp in Sources */,
 				AD4D455099260BDF99C8CC64 /* Bulk_Assembly-CSharp_29.cpp in Sources */,
@@ -2106,7 +2107,6 @@
 				536F411B8EB996949CDE0E3D /* Bulk_Generics_10.cpp in Sources */,
 				C6FB4E6EBFCC859501A28C12 /* Bulk_Generics_11.cpp in Sources */,
 				2CAC4761BAB89891E2431BA1 /* Bulk_Generics_12.cpp in Sources */,
-				93B6ED2B27DB2B180033A027 /* GameObjc.mm in Sources */,
 				58CA48F7BD0C075E401D504B /* Bulk_Generics_2.cpp in Sources */,
 				9392304027DEEA650061812D /* DanceGame.cpp in Sources */,
 				A77F4559B9A4F5B7AB15F9E6 /* Bulk_Generics_3.cpp in Sources */,
@@ -2149,7 +2149,6 @@
 				044644B68C5D373550131AB8 /* Bulk_UnityEngine.DirectorModule_0.cpp in Sources */,
 				D82940C49EC5173E6CF8082B /* Bulk_UnityEngine.GameCenterModule_0.cpp in Sources */,
 				04E2410F8EA9029A6097BD51 /* Bulk_UnityEngine.GridModule_0.cpp in Sources */,
-				9364CF602823A39000E63D51 /* MotionCountObj.m in Sources */,
 				B6424F0D95236DBE30A6FD40 /* Bulk_UnityEngine.IMGUIModule_0.cpp in Sources */,
 				B69B411C9BC4C73FF946EBC9 /* Bulk_UnityEngine.ImageConversionModule_0.cpp in Sources */,
 				404D46399EFF7943904206BC /* Bulk_UnityEngine.InputModule_0.cpp in Sources */,
@@ -2165,6 +2164,7 @@
 				937F5BB027FD2B210071BC44 /* NSMutableDictionary+AvoidCrash.m in Sources */,
 				93B6ECF427DB2B180033A027 /* AFURLSessionManager.m in Sources */,
 				E0984461AEE955AD1EC4A06A /* Bulk_UnityEngine.TilemapModule_0.cpp in Sources */,
+				9364CF6828261B0D00E63D51 /* CacheTool.m in Sources */,
 				5CFA4092AB4C29A7F58ADC65 /* Bulk_UnityEngine.UIModule_0.cpp in Sources */,
 				93B6ECF227DB2B180033A027 /* AFURLResponseSerialization.m in Sources */,
 				BFC94C89B984F43D24F92844 /* Bulk_UnityEngine.UnityConnectModule_0.cpp in Sources */,

二進制
DanceGame/Unity-iPhone.xcodeproj/project.xcworkspace/xcuserdata/duowan123.xcuserdatad/UserInterfaceState.xcuserstate


二進制
RunGame/.DS_Store


+ 10 - 11
RunGame/SDK/BLE/MotionCountObj.h

@@ -2,23 +2,22 @@
 //  MotionCountObj.h
 //  Unity-iPhone
 //
-//  Created by duowan123 on 2022/5/5.
+//  Created by duowan123 on 2022/5/9.
 //
 
 #import <Foundation/Foundation.h>
 
 
-
 @interface MotionCountObj : NSObject
-
-@property(nonatomic,assign)int step;
-@property(nonatomic,assign)int crouch;
-@property(nonatomic,assign)int jump;
-@property(nonatomic,assign)int tick;
-@property(nonatomic,assign)int trample;
-@property(nonatomic,assign)int scissors;
-@property(nonatomic,assign)int rock;
-@property(nonatomic,assign)int paper;
+//当局游戏动作数据
+@property(assign,nonatomic)int step;
+@property(assign,nonatomic)int jump;
+@property(assign,nonatomic)int crouch;
+@property(assign,nonatomic)int tick;
+@property(assign,nonatomic)int trample;
+@property(assign,nonatomic)int scissors;
+@property(assign,nonatomic)int rock;
+@property(assign,nonatomic)int paper;
 
 @end
 

+ 1 - 1
RunGame/SDK/BLE/MotionCountObj.m

@@ -2,7 +2,7 @@
 //  MotionCountObj.m
 //  Unity-iPhone
 //
-//  Created by duowan123 on 2022/5/5.
+//  Created by duowan123 on 2022/5/9.
 //
 
 #import "MotionCountObj.h"

+ 10 - 10
RunGame/Unity-iPhone.xcodeproj/project.pbxproj

@@ -136,15 +136,15 @@
 		932DE0DD27A14E9500664CBC /* BTDataAnalysis.h in Headers */ = {isa = PBXBuildFile; fileRef = 932DE0DB27A14E9500664CBC /* BTDataAnalysis.h */; };
 		932DE0DE27A14E9500664CBC /* BTDataAnalysis.mm in Sources */ = {isa = PBXBuildFile; fileRef = 932DE0DC27A14E9500664CBC /* BTDataAnalysis.mm */; };
 		932DE0DF27A14E9500664CBC /* BTDataAnalysis.mm in Sources */ = {isa = PBXBuildFile; fileRef = 932DE0DC27A14E9500664CBC /* BTDataAnalysis.mm */; };
+		933A79902828FEF20001315E /* MotionCountObj.h in Headers */ = {isa = PBXBuildFile; fileRef = 933A798E2828FEF20001315E /* MotionCountObj.h */; };
+		933A79912828FEF20001315E /* MotionCountObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 933A798F2828FEF20001315E /* MotionCountObj.m */; };
+		933A79922828FEF20001315E /* MotionCountObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 933A798F2828FEF20001315E /* MotionCountObj.m */; };
 		9354475127F1C4F70055C921 /* Kongfu.h in Headers */ = {isa = PBXBuildFile; fileRef = 9354475027F1C4F70055C921 /* Kongfu.h */; };
 		9354475327F1C5010055C921 /* Kongfu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354475227F1C5010055C921 /* Kongfu.cpp */; };
 		9354475427F1C5010055C921 /* Kongfu.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354475227F1C5010055C921 /* Kongfu.cpp */; };
 		9354475A27F305310055C921 /* StepVel.h in Headers */ = {isa = PBXBuildFile; fileRef = 9354475927F305300055C921 /* StepVel.h */; };
 		9354475C27F3053C0055C921 /* StepVel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354475B27F3053B0055C921 /* StepVel.cpp */; };
 		9354475D27F3053C0055C921 /* StepVel.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 9354475B27F3053B0055C921 /* StepVel.cpp */; };
-		9364CF5B28236E9500E63D51 /* MotionCountObj.h in Headers */ = {isa = PBXBuildFile; fileRef = 9364CF5928236E9500E63D51 /* MotionCountObj.h */; };
-		9364CF5C28236E9500E63D51 /* MotionCountObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 9364CF5A28236E9500E63D51 /* MotionCountObj.m */; };
-		9364CF5D28236E9500E63D51 /* MotionCountObj.m in Sources */ = {isa = PBXBuildFile; fileRef = 9364CF5A28236E9500E63D51 /* MotionCountObj.m */; };
 		937F5BBD27FD2F030071BC44 /* BugTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 937F5BBB27FD2F030071BC44 /* BugTool.m */; };
 		937F5BBE27FD2F030071BC44 /* BugTool.m in Sources */ = {isa = PBXBuildFile; fileRef = 937F5BBB27FD2F030071BC44 /* BugTool.m */; };
 		937F5BBF27FD2F030071BC44 /* BugTool.h in Headers */ = {isa = PBXBuildFile; fileRef = 937F5BBC27FD2F030071BC44 /* BugTool.h */; };
@@ -881,12 +881,12 @@
 		930AE431280047E600CB6FA2 /* MotionCount.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MotionCount.cpp; sourceTree = "<group>"; };
 		932DE0DB27A14E9500664CBC /* BTDataAnalysis.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BTDataAnalysis.h; sourceTree = "<group>"; };
 		932DE0DC27A14E9500664CBC /* BTDataAnalysis.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = BTDataAnalysis.mm; sourceTree = "<group>"; };
+		933A798E2828FEF20001315E /* MotionCountObj.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MotionCountObj.h; sourceTree = "<group>"; };
+		933A798F2828FEF20001315E /* MotionCountObj.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MotionCountObj.m; sourceTree = "<group>"; };
 		9354475027F1C4F70055C921 /* Kongfu.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Kongfu.h; sourceTree = "<group>"; };
 		9354475227F1C5010055C921 /* Kongfu.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Kongfu.cpp; sourceTree = "<group>"; };
 		9354475927F305300055C921 /* StepVel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StepVel.h; sourceTree = "<group>"; };
 		9354475B27F3053B0055C921 /* StepVel.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StepVel.cpp; sourceTree = "<group>"; };
-		9364CF5928236E9500E63D51 /* MotionCountObj.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MotionCountObj.h; sourceTree = "<group>"; };
-		9364CF5A28236E9500E63D51 /* MotionCountObj.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MotionCountObj.m; sourceTree = "<group>"; };
 		937F5BBB27FD2F030071BC44 /* BugTool.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BugTool.m; sourceTree = "<group>"; };
 		937F5BBC27FD2F030071BC44 /* BugTool.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BugTool.h; sourceTree = "<group>"; };
 		939230AA27DF38BF0061812D /* RunGame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RunGame.h; sourceTree = "<group>"; };
@@ -1823,10 +1823,10 @@
 			children = (
 				93D3D09B27797662006D26A0 /* BTDataProcess.h */,
 				93D3D09E27797662006D26A0 /* BTDataProcess.mm */,
-				9364CF5928236E9500E63D51 /* MotionCountObj.h */,
-				9364CF5A28236E9500E63D51 /* MotionCountObj.m */,
 				932DE0DB27A14E9500664CBC /* BTDataAnalysis.h */,
 				932DE0DC27A14E9500664CBC /* BTDataAnalysis.mm */,
+				933A798E2828FEF20001315E /* MotionCountObj.h */,
+				933A798F2828FEF20001315E /* MotionCountObj.m */,
 				93D3D0A027797662006D26A0 /* BTDataSend.h */,
 				93D3D09A27797662006D26A0 /* BTDataSend.m */,
 				93D3D0A227797662006D26A0 /* CBPeripheral+ADName.h */,
@@ -2083,7 +2083,7 @@
 				939230C327DF38BF0061812D /* Tricycle.h in Headers */,
 				93D3D15527797662006D26A0 /* DebugView.h in Headers */,
 				93D3D20C27797663006D26A0 /* AlgorithmTool.h in Headers */,
-				9364CF5B28236E9500E63D51 /* MotionCountObj.h in Headers */,
+				933A79902828FEF20001315E /* MotionCountObj.h in Headers */,
 				93D3D14F27797662006D26A0 /* BTDataSend.h in Headers */,
 				9DC67E8521CBBEBB005F9FA1 /* UnityAppController.h in Headers */,
 				93D3D16427797662006D26A0 /* AFSecurityPolicy.h in Headers */,
@@ -2428,9 +2428,9 @@
 				93D3D16A27797662006D26A0 /* AFHTTPSessionManager.m in Sources */,
 				93D3D12D27797662006D26A0 /* TXCarouselViewLayout.m in Sources */,
 				93D3D20527797663006D26A0 /* AlgorithmTool.m in Sources */,
-				9364CF5C28236E9500E63D51 /* MotionCountObj.m in Sources */,
 				93D3D21127797663006D26A0 /* UIView+ST.m in Sources */,
 				937F5BBD27FD2F030071BC44 /* BugTool.m in Sources */,
+				933A79912828FEF20001315E /* MotionCountObj.m in Sources */,
 				93B58DBB27A298A5003BB1C2 /* NSAttributedString+AvoidCrash.m in Sources */,
 				93D3D17227797663006D26A0 /* AFNetworkReachabilityManager.m in Sources */,
 				939230D627DF38BF0061812D /* H5_Game.cpp in Sources */,
@@ -2780,7 +2780,7 @@
 				0EC947FEA3A266DA874F186D /* UnityEngine_CodeGen.c in Sources */,
 				E03A4DEA9C0B41D039DFF210 /* UnityICallRegistration.cpp in Sources */,
 				517847F18EDB961F67E23E82 /* UnresolvedVirtualCallStubs.cpp in Sources */,
-				9364CF5D28236E9500E63D51 /* MotionCountObj.m in Sources */,
+				933A79922828FEF20001315E /* MotionCountObj.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

二進制
RunGame/Unity-iPhone.xcodeproj/project.xcworkspace/xcuserdata/duowan123.xcuserdatad/UserInterfaceState.xcuserstate