protected override unsafe void _generateEvent(HLVR_Timeline *timelinePtr) { Debug.Assert(timelinePtr != null); HLVR_Event *eventPtr = null; Interop.HLVR_Event_Create(&eventPtr, Interop.HLVR_EventType.DiscreteHaptic); Debug.Assert(eventPtr != null); Interop.HLVR_Event_SetUInt32(eventPtr, Interop.HLVR_EventKey.DiscreteHaptic_Repetitions_UInt32, (uint)(_duration * 1000 / GetEffectDuration(_effect))); Interop.HLVR_Event_SetUInt32s(eventPtr, Interop.HLVR_EventKey.Target_Regions_UInt32s, _area, (uint)_area.Length); Interop.HLVR_Event_SetFloat(eventPtr, Interop.HLVR_EventKey.DiscreteHaptic_Strength_Float, _strength); Interop.HLVR_Event_SetInt(eventPtr, Interop.HLVR_EventKey.DiscreteHaptic_Waveform_Int, (int)_effect); Interop.HLVR_Timeline_AddEvent(timelinePtr, _time, eventPtr); Interop.HLVR_Event_Destroy(eventPtr); Debug.Assert(eventPtr == null); }
public static extern unsafe int HLVR_System_PushEvent(HLVR_System *system, HLVR_Event *eventData);
public static extern unsafe int HLVR_Timeline_AddEvent(HLVR_Timeline *timeline, double timeOffsetSeconds, HLVR_Event *data);
public static extern unsafe int HLVR_Event_SetUInt32s(HLVR_Event *eventData, HLVR_EventKey key, [In, Out] UInt32[] values, uint length);
public static extern unsafe int HLVR_Event_SetInt(HLVR_Event *eventData, HLVR_EventKey key, int value);
public static extern unsafe int HLVR_Event_SetFloat(HLVR_Event *eventData, HLVR_EventKey key, float value);
public static extern unsafe void HLVR_Event_Destroy(HLVR_Event *eventData);
public static extern unsafe int HLVR_Event_SetUInt32(HLVR_Event *eventData, HLVR_EventKey key, UInt32 value);