22 glm::vec2
size = {1.0f, 1.0f};
28 std::vector<Graphics::Texture *>
frames;
42 std::unordered_map<std::string, SpriteAnimation> mAnimations;
43 std::string mCurrentAnimationName;
44 int mCurrentFrameIndex = 0;
46 bool mPlaying =
false;
68 void Play(
const std::string& name,
bool resetIfSame =
false);
114 void OnUpdate(
float deltaTime)
override;
Classe Component à dériver pour pouvoir être utilisée dans les systèmes ECS.
Definition component.hpp:18
La classe System implémente une logique spécifique à des composants.
Definition system.hpp:24
La classe Material définit un "material" graphique utilisé pour le rendu de meshes texturés.
Definition material.hpp:38
Definition sprite.hpp:104
void OnUpdate(float deltaTime) override
Callback d'upadte du système d'animation de sprite.
Definition sprite.cpp:73
Composant ECS qui stocke plusieurs animations, et permet de jouer l'une ou l'autre avec des appels si...
Definition sprite.hpp:40
void Stop()
Permet d'arrêter l'animation en cours.
Definition sprite.cpp:27
void Update(float dt)
Mets à jour l'animator en fonction du temps écoulé depuis le dernier appel (passé en paramètre)
Definition sprite.cpp:51
void AddAnimation(const std::string &name, const SpriteAnimation &animation)
Enregistre une animation dans le SpriteAnimator actuel.
Definition sprite.cpp:4
void Play(const std::string &name, bool resetIfSame=false)
Permet de jouer l'animation désignée par le nom donnée.
Definition sprite.cpp:15
SpriteAnimation & GetAnimation(const std::string &name)
Renvoie l'objet SpriteAnimation demandé
Definition sprite.cpp:8
Graphics::Texture * GetCurrentFrame() const
Renvoie la texture associée à la frame actuelle dans l'animation en cours.
Definition sprite.cpp:39
std::string GetCurrentAnimationName() const
Permet de savoir quelle animation est actuellement en train d'être jouée.
Definition sprite.cpp:31
bool IsPlaying() const
Permet de savoir si l'Animator est en train de jouer une animation.
Definition sprite.cpp:35
Transporte un ID de texture OpenGL.
Definition texture.hpp:18
Définit un component de base dans le cadre d'un ECS.
Définit l'implémentation d'un Material.
Definition material.cpp:3
Structure de donnée contenant une liste de frames et des paramètres pour de l'animation.
Definition sprite.hpp:26
float frameDuration
Définit la durée (en seconde) d'une frame à l'écran.
Definition sprite.hpp:31
std::vector< Graphics::Texture * > frames
Liste de frames (Textures) à utiliser pendant l'animation, dans l'ordre d'animation.
Definition sprite.hpp:28
bool loop
Si true, indique au système d'animation qu'elle doit être répétée une fois arrivée à la dernière fram...
Definition sprite.hpp:33
Structure de donnée contenant de quoi afficher un sprite à l'écran.
Definition sprite.hpp:17
glm::vec2 size
Taille du sprite à afficher.
Definition sprite.hpp:22
Graphics::Material material
Le material utilisé pour le rendu du sprite (textures + shader)
Definition sprite.hpp:19
Définit la manière dont le Système se comporte dans l'architecture ECS.