Inheritance: MonoBehaviour
Exemple #1
0
        public static void PlayGame(bool initialSetup)
        {
            if (initialSetup || !PlayingGame)
            {
                playingGame        = true;
                Program.ClearColor = Program.CLEAR_COLOR_PLAY;

                Scene scene = null;
                if (initialSetup)
                {
                    if (FileLoader.GetTextFileConents(Scene.MAIN_SCENE_FILENAME, out string existingSceneJson, true))
                    {
                        scene = Serialization.SerializationHelper.Deserialize <Scene>(existingSceneJson, null, true);
                    }
                    if (scene == null)
                    {
                        scene = EmptyScene.GetEmptyScene();
                        string sceneJson = Serialization.SerializationHelper.Serialize(scene);
                        FileLoader.SaveTextFile(Scene.MAIN_SCENE_FILENAME, sceneJson);
                    }
                }
                else
                {
                    // We're already all set up, so just save current state of game
                    scene = SaveScene();
                }

                GameLoop.Init(GameSystems, scene.Components, TargetFramesPerSecond);
            }
        }
Exemple #2
0
        public static void StopGame(bool initialSetup)
        {
            if (initialSetup || PlayingGame)
            {
                playingGame        = false;
                Program.ClearColor = Program.CLEAR_COLOR_STOPPED;
                Program.MidiState.Clear();

                Scene scene = null;
                if (FileLoader.GetTextFileConents(Scene.MAIN_SCENE_FILENAME, out string sceneJson, true))
                {
                    scene = Serialization.SerializationHelper.Deserialize <Scene>(sceneJson, null, true);
                }
                if (scene == null)
                {
                    scene = EmptyScene.GetEmptyScene();
                }

                EditorUI.SelectedEntityComponent = scene.EditorState.SelectedObject;
                Program.MidiState.LoadState(scene.EditorState.MidiAssignments);

                GameLoop.Init(EditorSystems, scene.Components, TargetFramesPerSecond);
            }
        }