private void RenderSyncUI(GUIStyle sty, GUIStyle but) { if (!CheckVessel()) { _flyByWire = false; Mode = UIMode.SELECTED; } if (GUILayout.Button("Sync Orbits", but, GUILayout.ExpandWidth(true))) { Mode = UIMode.SELECTED; _flyByWire = false; } GUILayout.EndVertical(); GUILayout.BeginHorizontal(); for (int i = 0; i < NumberOfPredictedSyncPoints; i++) { if (i != (int)SyncMode) { continue; } if (GUILayout.Button(SyncMode.ToString(), but, GUILayout.ExpandWidth(true))) { if (i == NumberOfPredictedSyncPoints - 1) { SyncMode = 0; } else { SyncMode = SyncMode + 1; } } //GUILayout.Box(SyncMode.ToString(),but); } GUILayout.EndHorizontal(); GUILayout.BeginVertical(); GUILayout.Box("Orbit ShipToR TgtToR ", GUILayout.ExpandWidth(true)); for (int i = 0; i < 4; i++) { GUILayout.Box(_syncString[i]); } GUILayout.Label("Closest Approach on Orbit " + _closestApproachOrbit.ToString(), sty); GUILayout.Label("Min Separation (sec) : " + _minimumPredictedTimeFromTarget.ToString("f1"), sty); if (automation == true) { if (GUILayout.Button(_autoPhaser ? _autoPhaserState.ToString() : "Auto Sync", but, GUILayout.ExpandWidth(true))) { _autoPhaser = !_autoPhaser; _autoPhaserState = AutoPhaserState.Step1WaitForTargetApsis; } } }