// After calling RequestObserverData, Prepar3D sends back SIMCONNECT_RECV_OBSERVER_DATA void simconnect_OnRecvObserverData(SimConnect sender, SIMCONNECT_RECV_OBSERVER_DATA data) { switch ((DATA_REQUESTS)data.dwRequestID) { case DATA_REQUESTS.REQUEST_1: displayText("Received data for " + data.szObserverName); textBoxMPosLat.Text = data.ObserverData.Position.Latitude.ToString(); textBoxMPosLong.Text = data.ObserverData.Position.Longitude.ToString(); textBoxMPosAlt.Text = data.ObserverData.Position.Altitude.ToString(); textBoxMHeading.Text = data.ObserverData.Rotation.Heading.ToString(); textBoxMPitch.Text = data.ObserverData.Rotation.Pitch.ToString(); textBoxMBank.Text = data.ObserverData.Rotation.Bank.ToString(); textBoxMFOVH.Text = data.ObserverData.FieldOfViewH.ToString(); textBoxMFOVV.Text = data.ObserverData.FieldOfViewV.ToString(); textBoxMSSLinear.Text = data.ObserverData.LinearStep.ToString(); textBoxMSSAngular.Text = data.ObserverData.AngularStep.ToString(); textBoxMFocalLength.Text = data.ObserverData.FocalLength.ToString(); // Focus if (data.ObserverData.FocusFixed == (int)OBSERVER_FOCUS_TYPE.OBSERVER_FOCUS_LOCAL) { radioButtonMFocusPoint.Checked = true; } else { radioButtonMFocusWorld.Checked = true; } // Regime if (data.ObserverData.Regime == (int)OBSERVER_REGIME_TYPE.OBSERVER_GHOST) { checkBoxMGhostMode.Checked = true; checkBoxMPassWater.Checked = true; } else if (data.ObserverData.Regime == (int)OBSERVER_REGIME_TYPE.OBSERVER_TELLURIAN) { checkBoxMGhostMode.Checked = false; checkBoxMPassWater.Checked = true; } else { checkBoxMGhostMode.Checked = false; checkBoxMPassWater.Checked = false; } break; default: displayText("Unknown request ID: " + data.dwRequestID); break; } }
void sc_OnRecvObserverData(SimConnect sender, SIMCONNECT_RECV_OBSERVER_DATA data) { Console.WriteLine("sc_OnRecvObserverData"); data.PrintDump(); }