JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
core::AnimationSystem Class Reference

Fait progresser l'animation de toute entité portant core::Animation, et projette l'état physique du personnage sur son clip cible. More...

#include <AnimationSystem.h>

Inheritance diagram for core::AnimationSystem:
core::ISystem

Public Member Functions

void update (World &world, float fixedDelta) override
 Applique un pas de simulation d'animation à toutes les entités animées.
Public Member Functions inherited from core::ISystem
virtual ~ISystem ()=default

Detailed Description

Fait progresser l'animation de toute entité portant core::Animation, et projette l'état physique du personnage sur son clip cible.

Deux responsabilités distinctes (LOT-46 TACHE-02) :

  • projection, spécifique au personnage : pour chaque entité Actor + Velocity + Animation, détermine le clip actif d'après la norme de la vitesse (LOT-06, les deux axes comptant pareil) : au-delà du seuil MOVING_THRESHOLD, « run » ; en deçà, « idle ». Les clips aériens du platformer restent déclarés — les poses procédurales et les spritesheets externes s'y accrochent — mais plus rien ne les sélectionne, faute d'un état qui puisse les justifier ; c'est le LOT-08 qui refera ce vocabulaire pour le RPG ;
  • progression, générale : pour toute entité portant core::Animation (personnage, tuiles animées, LOT-46 TACHE-05), avance l'image courante selon la durée du clip résolu, boucle ou bascule sur le clip suivant en fin de clip joué une fois (core::ClipEndMode:: OneShot).

Un changement de clip réinitialise immédiatement l'image à 0 (pas de transition progressive). Toute la logique vit ici ; les composants restent des données pures (EX-ARCH-011). Déterministe au pas fixe (EX-NFR-002), testable sans GPU (EX-NFR-010).

Doit s'exécuter après le système de déplacement dans la boucle d'un écran : il lit la vitesse calculée par le déplacement pour le même pas.

Member Function Documentation

◆ update()

void core::AnimationSystem::update ( World & world,
float fixedDelta )
overridevirtual

Applique un pas de simulation d'animation à toutes les entités animées.

Parameters
worldMonde ECS.
fixedDeltaDurée du pas de simulation, en secondes.

Implements core::ISystem.


The documentation for this class was generated from the following files:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Ecs/Systems/AnimationSystem.h
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/Core/Ecs/Systems/AnimationSystem.cpp