Exemplo n.º 1
0
        public void Awake()
        {
            //this is a comment
            Logger("Awoke!");
            DontDestroyOnLoad(this);
            Logger("Checking basic files");
            WeatherDatabase.BasicSanityCheck();
            WeatherSettings.SettingsFileIntegrityCheck();
            if (WeatherDatabase.BasicFileIntegrityCheck())
            {
                Logger("Integrity check passed, continuing");
            }
            else
            {
                Logger("Integrity check failed, quitting.");
                return;
            }
            //init planet
            WeatherDatabase.LoadInitPlanetaryData();
            WeatherSettings.LoadSettings();
            GameEvents.onGameSceneSwitchRequested.Add(scene =>
            {
                if (scene.from == GameScenes.MAINMENU && scene.to == GameScenes.SPACECENTER)
                {
                    prepToNew = true;
                }
                else if (scene.from == GameScenes.SPACECENTER && scene.to == GameScenes.MAINMENU)
                {
                    prepToDestroy = true;
                    sim           = null;
                    Destroy(this.gameObject.GetComponent <WeatherSimulator>());
                    Destroy(this.gameObject.GetComponent <MapOverlay>());
                    Destroy(this.gameObject.GetComponent <WeatherGUI.WeatherGUI>());
                    prepToDestroy = false;
                }
            });
            GameEvents.onGameStateLoad.Add(node =>
            {
                if (HighLogic.LoadedScene == GameScenes.SPACECENTER && prepToNew)
                {
                    //new up simulator

                    sim = this.gameObject.AddComponent <WeatherSimulator>();
                    this.gameObject.AddComponent <MapOverlay>();
                    this.gameObject.AddComponent <WeatherGUI.WeatherGUI>();
                    prepToNew = false;
                }
                if (HighLogic.LoadedScene == GameScenes.MAINMENU && prepToDestroy)
                {
                    sim = null;
                    Destroy(this.gameObject.GetComponent <WeatherSimulator>());
                    Destroy(this.gameObject.GetComponent <MapOverlay>());
                    Destroy(this.gameObject.GetComponent <WeatherGUI.WeatherGUI>());
                    prepToDestroy = false;
                }
            });
        }