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); } }
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); } }