skizzle/include/engine.hpp

52 lines
910 B
C++
Raw Normal View History

2016-03-08 22:28:50 +00:00
#ifndef __PTF_ENGINE_HPP__
#define __PTF_ENGINE_HPP__
2016-03-04 15:29:31 +00:00
#include <SFML/Graphics.hpp>
#include <SFML/Audio.hpp>
#include "object.hpp"
#include "engine_state.hpp"
#include "resource_manager.hpp"
2016-03-04 15:29:31 +00:00
2016-03-04 15:29:31 +00:00
/**
* La classe principale Engine coordonne les éléments
* du jeu et organise le dessin des frames
*/
class Engine {
private:
sf::Clock clock;
sf::RenderWindow window;
sf::View view;
sf::Music music;
EngineState state;
ResourceManager resources;
/**
* Met à jour les objets du jeu pour
* qu'ils s'adaptent au nouvel état du moteur
*/
void update();
/**
* Dessine la scène du jeu couche par couche
*/
2016-03-04 15:29:31 +00:00
void draw();
public:
Engine();
/**
* Démarre la boucle principale du jeu
*/
void start();
/**
* Ajoute un nouvel objet à la liste des objets du jeu
*/
void addObject(Object& object);
2016-03-04 15:29:31 +00:00
};
#endif
2016-03-25 17:40:39 +00:00