|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Le second mode de jeu : le combat se déroule sur la carte d'exploration, mais l'exploration, elle, ne tourne plus. More...
#include <CombatMode.h>
Public Member Functions | |
| std::string_view | name () const override |
| std::vector< std::string_view > | passOrder () const override |
| L'ordre des passes que step() enchaîne, nommées, pour les diagnostics. | |
| void | onLoad (IGameModePasses &passes) override |
| Appelé quand le mode devient actif, une fois le niveau chargé. | |
| core::LevelOutcome | step (IGameModePasses &passes, const core::PlayerInput &input, float fixedDelta) override |
| Avance d'un pas fixe, en enchaînant les passes dans l'ordre propre au mode. | |
| void | onUnload (IGameModePasses &passes) override |
| Appelé quand le mode cesse d'être actif (bascule vers un autre mode, ou fin de session). | |
| Public Member Functions inherited from hmi::IGameMode | |
| IGameMode ()=default | |
| virtual | ~IGameMode ()=default |
| IGameMode (const IGameMode &)=delete | |
| IGameMode & | operator= (const IGameMode &)=delete |
| IGameMode (IGameMode &&)=delete | |
| IGameMode & | operator= (IGameMode &&)=delete |
Le second mode de jeu : le combat se déroule sur la carte d'exploration, mais l'exploration, elle, ne tourne plus.
Trois passes de l'exploration disparaissent ici, et chacune pour une raison précise :
Ce qui reste tourne parce que le combat reste une scène : les particules et la secousse d'écran finissent ce qu'elles ont commencé, les animations continuent de jouer — un combattant immobile respire —, et la caméra suit ce qu'il faut regarder.
Ni initiative, ni tour actif, ni résolution d'action : c'est le LOT-20. Ce lot-ci livre la bascule — geler le monde, monter la rencontre, en revenir sans rien perdre — et l'état de la rencontre engagée vit dans core::EncounterRun, hors de ce mode, précisément pour que l'aller-retour se vérifie sans fenêtre.
Sans état, donc, comme hmi::ExplorationMode : le mode ne décide que de l'ordre. Le tour courant, lui, sera une mémoire, et c'est le LOT-20 qui la portera.
|
nodiscardoverridevirtual |
Implements hmi::IGameMode.
|
overridevirtual |
Appelé quand le mode devient actif, une fois le niveau chargé.
Implements hmi::IGameMode.
|
overridevirtual |
Appelé quand le mode cesse d'être actif (bascule vers un autre mode, ou fin de session).
Implements hmi::IGameMode.
|
nodiscardoverridevirtual |
L'ordre des passes que step() enchaîne, nommées, pour les diagnostics.
Documentation exécutable : un test compare cette liste à la séquence réellement appelée, de sorte qu'un ordre modifié sans mettre la liste à jour échoue au lieu de mentir.
Implements hmi::IGameMode.
|
overridevirtual |
Avance d'un pas fixe, en enchaînant les passes dans l'ordre propre au mode.
| passes | Les passes offertes par l'orchestrateur. |
| input | Intention de jeu déjà résolue pour ce pas. |
| fixedDelta | Durée du pas fixe, en secondes. |
Implements hmi::IGameMode.