public StackEngine(StackGame game, IServiceProvider services, InputProvider input, GameSettings gameSettings) { GameSettings = gameSettings; Services = services; gameSettings.SetCulture(); var ConsoleLogHandler = new ConsoleLogHandler(Console); EngineContent = new ContentLoader(Services); Renderer = new Renderer(Services, EngineContent, game.VirtualResolution, gameSettings.GetTargetResolution(game.VirtualResolution), gameSettings.Bloom); Game = game; Console = new Console(this); ConsoleLogHandler.Console = Console; _Paused = true; InputProvider = input; if (InputProvider != null) { InputProvider.DisplaySettings = Renderer.DisplaySettings; } EngineVariables.EnableGUI = true; Game.Start(this); }
public void Dispose() { Game.World?.UnloadContent(); Renderer.Dispose(); WorldContent?.Dispose(); EngineContent.Dispose(); }
public void Update() { InputProvider.Dispatch(Paused); Renderer.Update(InputProvider.KeyboardState, InputProvider.MouseState); if (Game != null && Game.World != null && !Paused) { Game.World.Update(); } }
public void Draw() { Renderer.Draw(Game?.World); }
public SaveGame SaveState(string name = "game1") { var ScreenshotData = Renderer.GetScreenshotPNGData(Game.World); return(SaveGame.SaveToFile(Game.SaveGameFolder, name, Game.World, ScreenshotData)); }