private void Awake() { if (Ended) { QuickStart.Warning("Reload? Destroy.", "QLoading"); Destroy(this); return; } if (HighLogic.LoadedScene != GameScenes.LOADING) { QuickStart.Warning("It's not a real Loading? Destroy.", "QLoading"); Ended = true; Destroy(this); return; } if (Instance != null) { QuickStart.Warning("There's already an Instance", "QLoading"); Destroy(this); return; } Instance = this; Button = new GUIStyle(HighLogic.Skin.button); Button.contentOffset = new Vector2(2, 2); Button.alignment = TextAnchor.MiddleCenter; QuickStart.Log("Awake", "QLoading"); }
void OnDestroy() { GameEvents.onFlightReady.Remove(OnFlightReady); GameEvents.onVesselChange.Remove(OnVesselChange); GameEvents.onGameSceneSwitchRequested.Remove(OnSceneSwitch); QuickStart.Log("OnDestroy", "QPersistent"); }
private void DestroyThis() { QuickStart.Log("DestroyThis", "QMainMenu"); QuickStart_Persistent.vesselID = string.Empty; QLoading.Ended = true; Destroy(this); }
private void LateUpdate() { if (!Ready) { QuickStart.Log("Ready", "QSpaceCenter"); Ready = true; } }
private void LateUpdate() { if (!Ready) { QuickStart.Log("Ready", "QMainMenu"); Ready = true; } }
void Start() { if (HighLogic.LoadedSceneIsEditor && QSettings.Instance.enableEditorAutoSaveShip) { StartCoroutine(autoSaveShip()); } Ready = true; QuickStart.Log("Start", "QPersistent"); }
private void Start() { if (!QSettings.Instance.Enabled) { QuickStart.Log("No need to keep it loaded.", "QMainMenu"); DestroyThis(); return; } StartCoroutine(QStart()); QuickStart.Log("Start", "QMainMenu"); }
private void Start() { if (string.IsNullOrEmpty(QSaveGame.LastUsed)) { ScreenMessages.PostScreenMessage("[" + QuickStart.MOD + "]: No savegame found.", 10); QuickStart.Log("No savegame found, destroy...", "QLoading"); Ended = true; Destroy(this); return; } QuickStart.Log("Start", "QLoading"); }
public override void OnSave(ConfigNode node) { try { if (!string.IsNullOrEmpty(vesselID)) { node.AddValue("vesselID", vesselID); } QuickStart.Log("OnSave " + vesselID, "QPersistent"); } catch (Exception e) { QuickStart.Warning("Can't save: {0} " + e, "QPersistent"); } }
IEnumerator autoSaveShip() { QuickStart.Log("autoSaveShip: start", "QPersistent"); while (HighLogic.LoadedSceneIsEditor && QSettings.Instance.enableEditorAutoSaveShip) { yield return(new WaitForSeconds(QSettings.Instance.editorTimeToSave)); ShipConstruction.SaveShip(shipFilename); QuickStart.Log("autoSaveShip: save", "QPersistent"); } QuickStart.Log("autoSaveShip: end", "QPersistent"); }
private void Start() { InputLockManager.RemoveControlLock("applicationFocus"); if (!QSettings.Instance.Enabled || QSettings.Instance.gameScene == (int)GameScenes.SPACECENTER) { QuickStart.Log("Not need to keep it loaded.", "QSpaceCenter"); QLoading.Ended = true; Destroy(this); return; } StartCoroutine(QStart()); QuickStart.Log("Start", "QSpaceCenter"); }
public override void OnAwake() { Instance = this; GameEvents.onFlightReady.Add(OnFlightReady); GameEvents.onVesselChange.Add(OnVesselChange); GameEvents.onGameSceneSwitchRequested.Add(OnSceneSwitch); if (QSpaceCenter.Instance == null) { QSettings.Instance.gameScene = (int)HighLogic.LoadedScene; if (HighLogic.LoadedSceneIsEditor) { QSettings.Instance.editorFacility = (int)EditorDriver.editorFacility; } } QSettings.Instance.Save(); QuickStart.Log("OnAwake", "QPersistent"); }
private void Awake() { if (QLoading.Ended) { QuickStart.Warning("Reload? Destroy.", "QSpaceCenter"); Destroy(this); return; } if (Instance != null) { QuickStart.Warning("There's already an Instance", "QSpaceCenter"); Destroy(this); return; } Instance = this; QuickStart.Log("Awake", "QSpaceCenter"); }
private IEnumerator QStart() { if (string.IsNullOrEmpty(QSaveGame.LastUsed)) { QuickStart.Warning("Last savegame not found!", "QMainMenu"); DestroyThis(); yield break; } if (!QSettings.Instance.Enabled) { QuickStart.Log("QuickStart is disabled!", "QMainMenu"); DestroyThis(); yield break; } while (!Ready) { yield return(0); } yield return(new WaitForEndOfFrame()); yield return(new WaitForSeconds(QSettings.Instance.WaitLoading)); yield return(new WaitForEndOfFrame()); QuickStart.Log("MainMenu Loaded", "QMainMenu"); QuickStart.Warning("The last game found: " + QSaveGame.LastUsed, "QMainMenu"); HighLogic.CurrentGame = GamePersistence.LoadGame(QSaveGame.File, QSaveGame.LastUsed, true, false); if (HighLogic.CurrentGame != null) { HighLogic.SaveFolder = QSaveGame.LastUsed; if (GamePersistence.UpdateScenarioModules(HighLogic.CurrentGame)) { GamePersistence.SaveGame(HighLogic.CurrentGame, QSaveGame.File, HighLogic.SaveFolder, SaveMode.OVERWRITE); } QuickStart.Log("Goto SpaceCenter", "QMainMenu"); HighLogic.CurrentGame.startScene = GameScenes.SPACECENTER; HighLogic.CurrentGame.Start(); InputLockManager.ClearControlLocks(); Destroy(this); yield break; } QuickStart.Warning("Can't load the last save game", "QMainMenu"); DestroyThis(); yield break; }
public override void OnLoad(ConfigNode node) { try { if (node != null) { if (vesselID == string.Empty) { if (node.HasValue("vesselID")) { vesselID = node.GetValue("vesselID"); QuickStart.Log("OnLoad " + vesselID, "QPersistent"); } } } } catch (Exception e) { QuickStart.Warning("Can't load: {0} " + e, "QPersistent"); } }
private void OnDestroy() { QuickStart.Log("OnDestroy", "QMainMenu"); }
void OnVesselChange(Vessel vessel) { vesselID = vessel.id.ToString(); QuickStart.Log("OnVesselChange " + vesselID, "QPersistent"); }
void OnFlightReady() { vesselID = FlightGlobals.ActiveVessel.id.ToString(); QuickStart.Log("OnFlightReady " + vesselID, "QPersistent"); }
private void OnDestroy() { QSettings.Instance.Save(); QuickStart.Log("OnDestroy", "QLoading"); }
private void OnDestroy() { QuickStart.Log("OnDestroy", "QSpaceCenter"); }
private void DestroyThis() { QuickStart.Log("DestroyThis", "QSpaceCenter"); QLoading.Ended = true; Destroy(this); }
private IEnumerator QStart() { while (!Ready || !QuickStart_Persistent.Ready) { yield return(0); } yield return(new WaitForEndOfFrame()); yield return(new WaitForSecondsRealtime(QSettings.Instance.WaitLoading)); yield return(new WaitForEndOfFrame()); QuickStart.Log("SpaceCenter Loaded", "QSpaceCenter"); if (QSettings.Instance.gameScene == (int)GameScenes.FLIGHT) { string _saveGame = GamePersistence.SaveGame(HighLogic.CurrentGame, QSaveGame.File, HighLogic.SaveFolder, SaveMode.OVERWRITE); if (!string.IsNullOrEmpty(QuickStart_Persistent.vesselID)) { int _idx = HighLogic.CurrentGame.flightState.protoVessels.FindLastIndex(pv => pv.vesselID == QuickStart_Persistent.VesselID); if (_idx != -1) { QuickStart.Log(string.Format("StartAndFocusVessel: {0}({1})[{2}] idx: {3}", QSaveGame.vesselName, QSaveGame.vesselType, QuickStart_Persistent.vesselID, _idx), "QSpaceCenter"); FlightDriver.StartAndFocusVessel(_saveGame, _idx); } else { QuickStart.Warning("QStart: invalid idx", "QSpaceCenter"); DestroyThis(); } } else { QuickStart.Warning("QStart: No vessel found", "QSpaceCenter"); DestroyThis(); } } if (QSettings.Instance.gameScene == (int)GameScenes.TRACKSTATION) { HighLogic.LoadScene(GameScenes.LOADINGBUFFER); HighLogic.LoadScene(GameScenes.TRACKSTATION); InputLockManager.ClearControlLocks(); QuickStart.Log("Goto Tracking Station", "QSpaceCenter"); DestroyThis(); } if (QSettings.Instance.gameScene == (int)GameScenes.EDITOR) { if (QSettings.Instance.enableEditorLoadAutoSave && File.Exists(QuickStart_Persistent.shipPath)) { EditorDriver.StartAndLoadVessel(QuickStart_Persistent.shipPath, (EditorFacility)QSettings.Instance.editorFacility); QuickStart.Log("StartAndLoadVessel: " + QuickStart_Persistent.shipPath, "QSpaceCenter"); } else { EditorDriver.StartupBehaviour = EditorDriver.StartupBehaviours.START_CLEAN; EditorDriver.StartEditor((EditorFacility)QSettings.Instance.editorFacility); QuickStart.Log("StartEditor", "QSpaceCenter"); } InputLockManager.ClearControlLocks(); QuickStart.Log("Goto " + (QSettings.Instance.editorFacility == (int)EditorFacility.VAB ? "Vehicle Assembly Building" : "Space Plane Hangar"), "QSpaceCenter"); DestroyThis(); } Destroy(this); yield break; }