Пример #1
0
        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);
        }
Пример #2
0
 public void Dispose()
 {
     Game.World?.UnloadContent();
     Renderer.Dispose();
     WorldContent?.Dispose();
     EngineContent.Dispose();
 }
Пример #3
0
        public void Update()
        {
            InputProvider.Dispatch(Paused);

            Renderer.Update(InputProvider.KeyboardState, InputProvider.MouseState);

            if (Game != null && Game.World != null && !Paused)
            {
                Game.World.Update();
            }
        }
Пример #4
0
 public void Draw()
 {
     Renderer.Draw(Game?.World);
 }
Пример #5
0
        public SaveGame SaveState(string name = "game1")
        {
            var ScreenshotData = Renderer.GetScreenshotPNGData(Game.World);

            return(SaveGame.SaveToFile(Game.SaveGameFolder, name, Game.World, ScreenshotData));
        }