skizzle/include/game.hpp

65 lines
1.1 KiB
C++
Raw Normal View History

2016-03-28 13:05:18 +00:00
#ifndef __PTF_GAME_HPP__
#define __PTF_GAME_HPP__
2016-03-04 15:29:31 +00:00
#include <SFML/Audio.hpp>
#include "view.hpp"
#include "object.hpp"
#include "manager.hpp"
#include "resource_manager.hpp"
2016-03-04 15:29:31 +00:00
/**
2016-03-28 13:05:18 +00:00
* La classe Game gère l'affichage et les objets
* d'une partie de jeu
2016-03-04 15:29:31 +00:00
*/
class Game : public View {
2016-03-04 15:29:31 +00:00
private:
sf::View view;
sf::Music music;
float accumulator;
std::vector<Object*> objects;
/**
* Met à jour les objets du jeu pour
2016-03-28 13:05:18 +00:00
* qu'ils s'adaptent au nouvel état
*/
void update(const Manager& manager);
/**
* Dessine la scène du jeu couche par couche
*/
void draw(Manager& manager);
public:
2016-03-28 13:05:18 +00:00
Game();
2016-03-28 17:57:55 +00:00
virtual ~Game();
/**
* Charge un niveau de jeu depuis le fichier donné
*/
void load();
/**
* Sauvegarde la configuration actuelle comme un niveau
*/
void save();
/**
* Libère les ressources du niveau
*/
void clear();
/**
* Demande le passage à la frame suivante sur
* cette vue
*/
void frame(Manager& manager);
/**
* Ajoute un nouvel objet à la liste des objets du jeu
*/
void addObject(Object& object);
2016-03-04 15:29:31 +00:00
};
#endif