예제 #1
0
        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);
        }
예제 #2
0
 public static extern unsafe int HLVR_System_PushEvent(HLVR_System *system, HLVR_Event *eventData);
예제 #3
0
 public static extern unsafe int HLVR_Timeline_AddEvent(HLVR_Timeline *timeline, double timeOffsetSeconds, HLVR_Event *data);
예제 #4
0
 public static extern unsafe int HLVR_Event_SetUInt32s(HLVR_Event *eventData, HLVR_EventKey key, [In, Out] UInt32[] values, uint length);
예제 #5
0
 public static extern unsafe int HLVR_Event_SetInt(HLVR_Event *eventData, HLVR_EventKey key, int value);
예제 #6
0
 public static extern unsafe int HLVR_Event_SetFloat(HLVR_Event *eventData, HLVR_EventKey key, float value);
예제 #7
0
 public static extern unsafe void HLVR_Event_Destroy(HLVR_Event *eventData);
예제 #8
0
 public static extern unsafe int HLVR_Event_SetUInt32(HLVR_Event *eventData, HLVR_EventKey key, UInt32 value);