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

Les passes d'un pas fixe, telles que l'orchestrateur les offre à un mode de jeu. More...

#include <IGameMode.h>

Inheritance diagram for hmi::IGameModePasses:
hmi::GameSession

Public Member Functions

 IGameModePasses ()=default
virtual ~IGameModePasses ()=default
 IGameModePasses (const IGameModePasses &)=delete
IGameModePassesoperator= (const IGameModePasses &)=delete
 IGameModePasses (IGameModePasses &&)=delete
IGameModePassesoperator= (IGameModePasses &&)=delete
virtual void snapshotPreviousPositions ()=0
 Fige la position courante de chaque entité mobile comme sa position « précédente », avant que le pas ne la modifie (interpolation de rendu, EX-ARCH-031).
virtual void advanceParticles (float fixedDelta)=0
 Avance les particules déjà émises (LOT-53), avant que ce pas n'en émette de nouvelles.
virtual void advanceScreenShake (float fixedDelta)=0
 Fait décroître la secousse d'écran courante (LOT-53).
virtual void moveCharacter (const core::PlayerInput &input, float fixedDelta)=0
 Déplace le personnage selon l'intention de ce pas.
virtual void advanceAnimations (float fixedDelta)=0
 Avance les animations d'entités et l'horloge des tuiles animées (EX-REN-012).
virtual void updateCamera (float fixedDelta)=0
 Recadre la caméra selon le mode de cadrage résolu du niveau (EX-LVL-006).
virtual void updateMechanisms (const core::PlayerInput &input)=0
 Résout les mécanismes à partir de la boîte du personnage et de son intention.
virtual void detectEvents ()=0
 Relève les transitions du pas (personnage, mécanismes) en événements de jeu (LOT-60).
virtual void updateMechanismVisuals (float fixedDelta)=0
 Projette l'état logique des mécanismes sur leur apparence (LOT-47, EX-REN-006).
virtual core::LevelOutcome evaluateOutcome ()=0
virtual void onLevelLost ()=0
 Conséquences d'un échec : éclatement, secousse, puis rechargement du niveau.

Detailed Description

Les passes d'un pas fixe, telles que l'orchestrateur les offre à un mode de jeu.

Chaque méthode est une passe : elle fait ce que son nom dit, ni plus ni moins, et ne décide jamais de ce qui vient après. C'est le mode (hmi::IGameMode) qui les enchaîne — c'est là toute la séparation qu'apporte le LOT-05 (EX-ARCH-002).

Interface sans Qt et sans GPU, ne parlant que de core:: : c'est ce qui rend un mode de jeu testable sans fenêtre, alors que hmi::GameSession — son unique implémentation réelle — exige un atlas, un lot de sprites et une police. Un mode se vérifie donc contre une implémentation d'essai qui enregistre l'ordre des appels, sans simuler quoi que ce soit.

Constructor & Destructor Documentation

◆ IGameModePasses() [1/3]

hmi::IGameModePasses::IGameModePasses ( )
default

◆ ~IGameModePasses()

virtual hmi::IGameModePasses::~IGameModePasses ( )
virtualdefault

◆ IGameModePasses() [2/3]

hmi::IGameModePasses::IGameModePasses ( const IGameModePasses & )
delete

◆ IGameModePasses() [3/3]

hmi::IGameModePasses::IGameModePasses ( IGameModePasses && )
delete

Member Function Documentation

◆ advanceAnimations()

virtual void hmi::IGameModePasses::advanceAnimations ( float fixedDelta)
pure virtual

Avance les animations d'entités et l'horloge des tuiles animées (EX-REN-012).

Implemented in hmi::GameSession.

◆ advanceParticles()

virtual void hmi::IGameModePasses::advanceParticles ( float fixedDelta)
pure virtual

Avance les particules déjà émises (LOT-53), avant que ce pas n'en émette de nouvelles.

Implemented in hmi::GameSession.

◆ advanceScreenShake()

virtual void hmi::IGameModePasses::advanceScreenShake ( float fixedDelta)
pure virtual

Fait décroître la secousse d'écran courante (LOT-53).

Implemented in hmi::GameSession.

◆ detectEvents()

virtual void hmi::IGameModePasses::detectEvents ( )
pure virtual

Relève les transitions du pas (personnage, mécanismes) en événements de jeu (LOT-60).

Implemented in hmi::GameSession.

◆ evaluateOutcome()

virtual core::LevelOutcome hmi::IGameModePasses::evaluateOutcome ( )
nodiscardpure virtual
Returns
L'issue du niveau pour ce pas, sans rien y changer.

Implemented in hmi::GameSession.

◆ moveCharacter()

virtual void hmi::IGameModePasses::moveCharacter ( const core::PlayerInput & input,
float fixedDelta )
pure virtual

Déplace le personnage selon l'intention de ce pas.

Implemented in hmi::GameSession.

◆ onLevelLost()

virtual void hmi::IGameModePasses::onLevelLost ( )
pure virtual

Conséquences d'un échec : éclatement, secousse, puis rechargement du niveau.

Implemented in hmi::GameSession.

◆ operator=() [1/2]

IGameModePasses & hmi::IGameModePasses::operator= ( const IGameModePasses & )
delete

◆ operator=() [2/2]

IGameModePasses & hmi::IGameModePasses::operator= ( IGameModePasses && )
delete

◆ snapshotPreviousPositions()

virtual void hmi::IGameModePasses::snapshotPreviousPositions ( )
pure virtual

Fige la position courante de chaque entité mobile comme sa position « précédente », avant que le pas ne la modifie (interpolation de rendu, EX-ARCH-031).

Implemented in hmi::GameSession.

◆ updateCamera()

virtual void hmi::IGameModePasses::updateCamera ( float fixedDelta)
pure virtual

Recadre la caméra selon le mode de cadrage résolu du niveau (EX-LVL-006).

Implemented in hmi::GameSession.

◆ updateMechanisms()

virtual void hmi::IGameModePasses::updateMechanisms ( const core::PlayerInput & input)
pure virtual

Résout les mécanismes à partir de la boîte du personnage et de son intention.

Implemented in hmi::GameSession.

◆ updateMechanismVisuals()

virtual void hmi::IGameModePasses::updateMechanismVisuals ( float fixedDelta)
pure virtual

Projette l'état logique des mécanismes sur leur apparence (LOT-47, EX-REN-006).

Implemented in hmi::GameSession.


The documentation for this class was generated from the following file:
  • /home/runner/work/JustAnotherDnDGame/JustAnotherDnDGame/Source/HMI/Game/IGameMode.h