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

Ensemble nommé de clips, adressable par nom — l'unité que décrit un fichier nom-asset.anim.json (LOT-46 TACHE-03). More...

#include <AnimationClip.h>

Public Member Functions

void addClip (AnimationClip clip)
 Ajoute un clip au jeu. Un clip du même nom qu'un clip déjà présent le remplace.
int indexOf (std::string_view name) const noexcept
int clipCount () const noexcept
const AnimationClipclipAt (int index) const noexcept
 Clip à un index donné, borné aux clips existants.

Private Attributes

std::vector< AnimationClip_clips
std::map< std::string, int, std::less<> > _byName

Detailed Description

Ensemble nommé de clips, adressable par nom — l'unité que décrit un fichier nom-asset.anim.json (LOT-46 TACHE-03).

Résout un nom en index à l'ajout plutôt qu'à chaque pas fixe (AnimationSystem) : la progression générale d'une animation (avancer l'image courante) n'a donc jamais à comparer de chaînes, même pour des centaines de tuiles animées (LOT-46 TACHE-05). Seule la sélection initiale d'un clip par son nom (ex. la projection état → clip du personnage) en compare.

Accès sûr : interroger un clip par un index hors bornes ou un nom absent ne plante ni ne lève — repli déterministe sur le premier clip du jeu (EX-NFR-040).

Member Function Documentation

◆ addClip()

void core::ClipSet::addClip ( AnimationClip clip)

Ajoute un clip au jeu. Un clip du même nom qu'un clip déjà présent le remplace.

◆ clipAt()

const AnimationClip & core::ClipSet::clipAt ( int index) const
nodiscardnoexcept

Clip à un index donné, borné aux clips existants.

Un index hors bornes (négatif ou trop grand) retombe sur le premier clip du jeu : repli déterministe (EX-NFR-040), jamais un accès hors bornes. Un jeu vide renvoie un clip par défaut (nom vide, une seule image d'indice 0, jamais animé) : l'appelant peut toujours lire un clipAt, même sans avoir vérifié clipCount() au préalable.

Parameters
indexIndex désiré (typiquement core::Animation::clipIndex).
Returns
Le clip résolu.

◆ clipCount()

int core::ClipSet::clipCount ( ) const
inlinenodiscardnoexcept
Returns
Le nombre de clips du jeu.

◆ indexOf()

int core::ClipSet::indexOf ( std::string_view name) const
nodiscardnoexcept
Returns
L'index du clip nommé name dans le jeu, ou -1 s'il n'existe pas.

Member Data Documentation

◆ _byName

std::map<std::string, int, std::less<> > core::ClipSet::_byName
private

◆ _clips

std::vector<AnimationClip> core::ClipSet::_clips
private

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