private void SendGenericCommand(TOGGLE_EVENT sendingEvent, uint dwData = 0) { try { simconnect?.TransmitClientEvent(SimConnect.SIMCONNECT_OBJECT_ID_USER, sendingEvent, dwData, GROUPID.MAX, SIMCONNECT_EVENT_FLAG.GROUPID_IS_PRIORITY); } catch (COMException ex) when(ex.Message == "0xC00000B0") { RecoverFromError(ex); } }
public void RegisterToggleEvent(TOGGLE_EVENT toggleAction) { if (simconnect == null) { return; } if (genericEvents.Contains(toggleAction)) { return; } genericEvents.Add(toggleAction); logger.LogInformation("RegisterEvent {action} {simConnectAction}", toggleAction, toggleAction.EventToSimConnectEvent()); simconnect.MapClientEventToSimEvent(toggleAction, toggleAction.EventToSimConnectEvent()); }
public void Trigger(TOGGLE_EVENT toggleAction, uint data = 0) { logger.LogInformation("Toggle {action} {data}", toggleAction, data); SendGenericCommand(toggleAction, data); }
public void Toggle(TOGGLE_EVENT toggleAction) { logger.LogInformation("Toggle {1}", toggleAction); SendGenericCommand(toggleAction); }
public static string EventToSimConnectEvent(this TOGGLE_EVENT input) { return(input.ToString().Replace("MOBIFLIGHT_", "MobiFlight.")); }