internal static unsafe KeyEvent Invoke(AnalogInputEvent Event) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((AnalogInputEvent *)(b + 0)) = Event; Main.GetProcessEvent(WidgetBlueprintLibrary.DefaultObject, GetKeyEventFromAnalogInputEvent_ptr, new IntPtr(p));; return(*((KeyEvent *)(b + 72))); } }
internal static unsafe float Invoke(AnalogInputEvent Input) { long *p = stackalloc long[] { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L }; byte *b = (byte *)p; *((AnalogInputEvent *)(b + 0)) = Input; Main.GetProcessEvent(KismetInputLibrary.DefaultObject, GetAnalogValue_ptr, new IntPtr(p));; return(*((float *)(b + 72))); } }
void Update() { byte[] bytes = myDevice.readQueue(); if (bytes != null && bytes.Length > 0) { foreach (byte b in bytes) { incoming.Enqueue(b); } } Event evt = ProcessQueue(); if (evt != null) { if (evt.Type == EventTypes.AnalogValue) { AnalogEvent analog = evt as AnalogEvent; AnalogInputs[analog.AnalogInput].Value = analog.AnalogValue; if (AnalogInputEvent != null) { AnalogInputEvent.Invoke(this, new AnalogInputChangedArgs(analog)); } } else if (evt.Type == EventTypes.InputChanged) { InputEvent input = evt as InputEvent; Debug.Log("Digital: " + input.DigitalInput.ToString() + " " + input.State); DigitalInputs[input.DigitalInput].State = input.State; if (DigitalInputEvent != null) { DigitalInputEvent.Invoke(this, new DigitalInputChangedArgs(input)); } } } }
///<summary>Get Analog Value</summary> public static float GetAnalogValue(AnalogInputEvent Input) => KismetInputLibrary_methods.GetAnalogValue_method.Invoke(Input);
///<summary>Get Key Event from Analog Input Event</summary> public static KeyEvent GetKeyEventFromAnalogInputEvent(AnalogInputEvent Event) => WidgetBlueprintLibrary_methods.GetKeyEventFromAnalogInputEvent_method.Invoke(Event);