2016-03-13 16:03:56 +00:00
|
|
|
#ifndef __PTF_ENGINE_STATE_HPP__
|
|
|
|
#define __PTF_ENGINE_STATE_HPP__
|
2016-03-08 18:51:24 +00:00
|
|
|
|
|
|
|
#include <vector>
|
2016-03-13 16:03:56 +00:00
|
|
|
#include <array>
|
2016-03-08 21:50:14 +00:00
|
|
|
|
2016-03-09 18:35:28 +00:00
|
|
|
// pré-déclaration de Object pour éviter les erreurs de compilation
|
|
|
|
// Object est définie dans object.hpp
|
2016-03-08 21:50:14 +00:00
|
|
|
class Object;
|
2016-03-08 18:51:24 +00:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Structure qui retient l'état actuel du moteur
|
|
|
|
* Cette structure est passée aux objets pour qu'ils se
|
|
|
|
* mettent à jour en fonction de cet état
|
|
|
|
*/
|
2016-03-13 16:03:56 +00:00
|
|
|
struct EngineState {
|
2016-03-08 21:50:14 +00:00
|
|
|
std::vector<Object*> objects;
|
2016-03-13 16:03:56 +00:00
|
|
|
std::array<bool, sf::Keyboard::KeyCount> keys;
|
2016-03-08 18:51:24 +00:00
|
|
|
float delta;
|
2016-03-13 16:03:56 +00:00
|
|
|
|
|
|
|
EngineState() {
|
|
|
|
// aucune touche n'est enfoncée au démarrage
|
|
|
|
keys.fill(false);
|
|
|
|
}
|
2016-03-08 18:51:24 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|