|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
État d'animation courant d'une entité : quel jeu de clips, quel clip, quelle image, depuis combien de temps. More...
#include <Animation.h>
Public Attributes | |
| std::shared_ptr< const ClipSet > | clips |
| Jeu de clips utilisé par cette entité (immuable, partagé). | |
| int | clipIndex = 0 |
| Index du clip courant dans clips, déjà résolu (ClipSet::indexOf) : la progression au pas fixe ne compare donc jamais de chaîne, y compris pour un grand nombre d'entités animées (LOT-46 TACHE-02). | |
| int | frameIndex = 0 |
| Index de l'image courante, dans le clip (0-based, borné à AnimationClip::frames). | |
| float | elapsed = 0.0f |
| Temps écoulé (secondes) depuis le passage à frameIndex. | |
État d'animation courant d'une entité : quel jeu de clips, quel clip, quelle image, depuis combien de temps.
Donnée pure sans logique (EX-ARCH-011), mise à jour par AnimationSystem et lue par le rendu (HMI) pour choisir la région à afficher (LOT-46). Le clip courant est une projection de l'état de simulation (ex. Player::grounded/Velocity pour le personnage) — il ne s'agit pas d'un état piloté directement par une entrée du joueur, ni d'une source de vérité supplémentaire.
clips est partagé (shared_ptr vers une donnée immuable) plutôt que copié : plusieurs entités animées par le même jeu (ex. toutes les tuiles d'eau d'un niveau) n'en dupliquent pas le contenu. nullptr signifie « pas de jeu assigné » — une entité dans cet état n'est jamais créée en pratique (Core::buildLevelScene/spawnPlayer assignent toujours un jeu avant l'ajout du composant), mais AnimationSystem reste sûr face à ce cas (EX-NFR-040).
| int core::Animation::clipIndex = 0 |
Index du clip courant dans clips, déjà résolu (ClipSet::indexOf) : la progression au pas fixe ne compare donc jamais de chaîne, y compris pour un grand nombre d'entités animées (LOT-46 TACHE-02).
| std::shared_ptr<const ClipSet> core::Animation::clips |
Jeu de clips utilisé par cette entité (immuable, partagé).
| float core::Animation::elapsed = 0.0f |
Temps écoulé (secondes) depuis le passage à frameIndex.
| int core::Animation::frameIndex = 0 |
Index de l'image courante, dans le clip (0-based, borné à AnimationClip::frames).