Interhaptics SDK for Unity 1.6
Loading...
Searching...
No Matches
UnityCoreHapticsProxy.cs
Go to the documentation of this file.
1using System.Runtime.InteropServices;
2using System;
3using System.IO;
4using UnityEngine;
5
7{
8 public static class UnityCoreHapticsProxy
9 {
10#if UNITY_IOS && !UNITY_EDITOR
11 [DllImport("__Internal")]
12 private static extern void _coreHapticsCreateEngine();
13
14 [DllImport("__Internal")]
15 private static extern void _coreHapticsStopEngine();
16
17 [DllImport("__Internal")]
18 private static extern bool _coreHapticsSupportsCoreHaptics();
19
20 [DllImport("__Internal")]
21 private static extern void _coreHapticsPlayTransientHaptic(float intensity, float sharpness);
22
23 [DllImport("__Internal")]
24 private static extern void _coreHapticsPlayContinuousHaptic(float intensity, float sharpness, float duration);
25
26 [DllImport("__Internal")]
27 private static extern void _coreHapticsPlayHapticsFromJSON(string str);
28
29 [DllImport("__Internal")]
30 private static extern void _coreHapticsPlayHapticsFromFile(string path);
31
32 // Callbacks
33 [DllImport("__Internal")]
34 private static extern void _coreHapticsRegisterEngineCreated(Action callback);
35
36 [DllImport("__Internal")]
37 private static extern void _coreHapticsRegisterEngineError(Action callback);
38
39 public static event Action OnEngineCreated;
40 public static event Action OnEngineError;
41#endif
42
46 static UnityCoreHapticsProxy()
47 {
48 #if !UNITY_2019_3_OR_NEWER
49 throw new Exception("[UnityCoreHaptics] plugin is only supported in Unity 2019.3 or later.");
50 #endif
51 #if UNITY_IOS && !UNITY_EDITOR
52 _coreHapticsRegisterEngineCreated(OnEngineCreated);
54 #endif
55 }
56
63 public static void CreateEngine() {
64 #if UNITY_IOS && !UNITY_EDITOR
66 #endif
67 }
68
72 public static void StopEngine() {
73 #if UNITY_IOS && !UNITY_EDITOR
75 #endif
76 }
77
78
84 public static bool SupportsCoreHaptics()
85 {
86 #if UNITY_IOS && !UNITY_EDITOR
88 #else
89 return false;
90 #endif
91 }
92
98 public static void PlayTransientHaptics(float intensity, float sharpness)
99 {
100 #if UNITY_IOS && !UNITY_EDITOR
101 _coreHapticsPlayTransientHaptic(intensity, sharpness);
102 #endif
103 }
104
111 public static void PlayContinuousHaptics(float intensity, float sharpness, float duration)
112 {
113 #if UNITY_IOS && !UNITY_EDITOR
114 _coreHapticsPlayContinuousHaptic(intensity, sharpness, duration);
115 #endif
116 }
117
123 public static void PlayHapticsFromJSON(string str)
124 {
125 #if UNITY_IOS && !UNITY_EDITOR
127 #endif
128 }
129
135 public static void PlayHapticsFromFile(string pathFromStreamingAssets)
136 {
137 string fullPath = Path.Combine(UnityEngine.Application.streamingAssetsPath, pathFromStreamingAssets);
138 #if UNITY_IOS && !UNITY_EDITOR
140 #endif
141 }
142 }
143}
void _coreHapticsPlayTransientHaptic(float intensity, float sharpness)
void _coreHapticsPlayContinuousHaptic(float intensity, float sharpness, float duration)
void _coreHapticsCreateEngine(bool value)
void _coreHapticsPlayHapticsFromFile(const char *path)
void _coreHapticsStopEngine()
void _coreHapticsPlayHapticsFromJSON(const char *jsonStr)
void _coreHapticsRegisterEngineError(HapticCallback callback)
bool _coreHapticsSupportsCoreHaptics()
void _coreHapticsRegisterEngineCreated(HapticCallback callback)