Skip to content
Snippets Groups Projects
Select Git revision
  • 5eaa5d3655a1d7fe5d876a4a845df1892250e014
  • main default protected
  • leveleditor
  • david-author
  • clang-tidy-cleanup
  • architecture-refactoring
  • cleanUpMenus
  • doxygen-cleanup
  • project-structure-refactoring
  • interpolation
  • buildingFeatures
  • win_end_screen
  • helpMenu
  • leveleditor-placement
  • text-rendering
  • updated_unit_contextmenu
  • level-from-commandline
  • unit_contextmenu
  • player
  • engine-scaling
  • clang-tidy
21 results

engine.hpp

Blame
  • engine.hpp 757 B
    #pragma once
    
    #include "SDL_render.h"
    #include "scene.hpp"
    #include "spritesheet.hpp"
    #include "window.hpp"
    #include <SDL.h>
    #include <optional>
    #include <vector>
    
    namespace advanced_wars {
    
    /**
     * @brief The main window of the game
     */
    class Engine {
    public:
      Engine(Window &window);
    
      Engine(const Engine &) = delete;
      Engine &operator=(const Engine &) = delete;
    
      bool exited();
    
      void pump();
    
      void set_scene(Scene &scene);
    
      void set_spritesheet(Spritesheet spritesheet);
    
      void render();
    
      SDL_Renderer *renderer();
    
      ~Engine();
    
    private:
      Window &window;
      SDL_Renderer *sdl_renderer;
      std::optional<Scene *> scene;
      std::optional<Spritesheet> spritesheet;
      std::vector<SDL_Event> events;
      bool quit;
    };
    
    } // namespace advanced_wars