Program Listing for File engine.h¶
↰ Return to documentation for file (simple2dengine/engine.h
)
#ifndef _SIMPLE2DENGINE_ENGINE_H_
#define _SIMPLE2DENGINE_ENGINE_H_
#include <memory>
#include <string>
#include <SFML/Graphics.hpp>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include "simple2dengine/configuration.h"
#include "simple2dengine/managers/asset_manager.h"
#include "simple2dengine/managers/input_manager.h"
#include "simple2dengine/managers/loaders/font_loader.h"
#include "simple2dengine/managers/loaders/sound_loader.h"
#include "simple2dengine/managers/loaders/texture_loader.h"
#include "simple2dengine/managers/scene_manager.h"
namespace simple2dengine
{
class Engine
{
public:
Engine(const Configuration& config);
void run();
void stop();
SceneManager& getSceneManager();
AssetManager& getAssetManager();
InputManager& getInputManager();
const Configuration& getConfiguration();
sf::RenderWindow& getRenderWindow();
private:
void update(int deltaInMs);
void render();
sf::RenderWindow window; // SFML window
sf::Clock deltaClock; // Help to calculate delta for update method
bool isRunning = false; // Running state
Configuration configuration; // Configuration object (window size, fps, etc)
// managers
SceneManager sceneManager; // operates with scenes
AssetManager assetManager; // operates with assets
InputManager inputManager; // operates with input
};
} // namespace simple2dengine
#endif // _SIMPLE2DENGINE_ENGINE_H_