River Jiang
2020-10-27 1f5eda1c9d22a3676298751c7282a5874f13bed0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
#import <Foundation/Foundation.h>
#import <CoreHaptics/CoreHaptics.h>
//#import "unityswift-Swift.h"
#import "UnitySwift-Bridging-Header.h"
#import "UnityFramework/UnityFramework-Swift.h"
 
 
extern "C"
{
 
  void MMNViOS_CoreHapticsRegisterHapticEngineFinishedCallback(HapticCallback callback)
  {
      [MMNViOSCoreHapticsInterface RegisterHapticEngineFinishedCallbackWithCallback:callback];
  }
  void MMNViOS_CoreHapticsRegisterHapticEngineErrorCallback(HapticCallback callback)
  {
      [MMNViOSCoreHapticsInterface RegisterHapticEngineErrorCallbackWithCallback:callback];
  }
  void MMNViOS_CoreHapticsRegisterHapticEngineResetCallback(HapticCallback callback)
  {
      [MMNViOSCoreHapticsInterface RegisterHapticEngineResetCallbackWithCallback:callback];
  }
 
  bool MMNViOS_CoreHapticsSupported()
  {
    return [MMNViOSCoreHapticsInterface CoreHapticsSupported];
  }
 
  void MMNViOS_CoreHapticsSetDebugMode(bool status)
  {
    [MMNViOSCoreHapticsInterface SetDebugModeWithStatus:status];
  }
 
  void MMNViOS_CreateEngine()
  {
    [MMNViOSCoreHapticsInterface CreateEngine];
  }
 
  void MMNViOS_StopEngine()
  {
    [MMNViOSCoreHapticsInterface StopEngine];
  }
 
  void MMNViOS_PlayTransientHapticPattern(float intensity, float sharpness, bool threaded)
  {
    [MMNViOSCoreHapticsInterface PlayTransientHapticWithIntensity:intensity sharpness:sharpness threaded:threaded];
  }
 
  void MMNViOS_PlayContinuousHapticPattern(float intensity, float sharpness, float duration, bool threaded)
  {
    [MMNViOSCoreHapticsInterface PlayContinuousHapticWithIntensity: intensity sharpness:sharpness duration:duration threaded:threaded];
  }
 
  void MMNViOS_StopContinuousHaptic()
  {
    [MMNViOSCoreHapticsInterface StopContinuousHaptic];
  }
 
  void MMNViOS_UpdateContinuousHapticPattern(float intensity, float sharpness, bool threaded)
  {
    [MMNViOSCoreHapticsInterface UpdateContinuousHapticWithIntensity:intensity sharpness:sharpness threaded:threaded];
  }
 
  void MMNViOS_PlayCoreHapticsFromJSON(const char* jsonDict, bool threaded)
  {
      if (jsonDict == nil)
      {
          printf("jsonDict is nil");
          return;
      }
 
      NSError* error = nil;
      NSString *jsonAsString = [[NSString alloc] initWithUTF8String:jsonDict];
 
      //NSLog(jsonAsString);
 
      /*NSData* data = [jsonAsString dataUsingEncoding:NSUTF8StringEncoding];
      NSDictionary* dict = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&error];
      CHHapticPattern* pattern = [[CHHapticPattern alloc] initWithDictionary:dict error:&error];*/
      [MMNViOSCoreHapticsInterface PlayHapticsFromJSONWithPatternAsString:jsonAsString threaded:threaded];
 
  }
 
 
}