91 void update(
const Aabb& playerBox,
float playerMass = 1.0f,
bool interactPressed =
false,
92 const std::vector<TriggerWeight>& weights = {});
115 [[nodiscard]]
const std::vector<Mechanism>&
mechanisms() const noexcept {
135 [[nodiscard]]
bool isKey(std::size_t index)
const {
149 std::vector<TileType>
Boîte englobante alignée aux axes (AABB) et fabrique associée.
Niveau chargé : grille de tuiles, entrée/sortie et mécanismes.
Grille de tuiles typées d'un niveau.
Types de tuiles d'une carte et utilitaires associés.
std::vector< TileType > _openType
Type de tuile « porte ouverte » de chaque mécanisme (Door ou LockedDoor), capturé avant que le constr...
Definition MechanismController.h:150
std::vector< bool > _switchOn
État de chaque déclencheur (porte ouverte ?).
Definition MechanismController.h:142
const TileMap & collisionMap() const noexcept
Definition MechanismController.h:110
bool _crushedPlayer
Une porte s'est refermée sur le personnage au dernier pas.
Definition MechanismController.h:153
std::vector< bool > _playerOnSwitchPrev
Le personnage était-il sur le déclencheur au pas précédent ?
Definition MechanismController.h:144
bool isKey(std::size_t index) const
Definition MechanismController.h:135
std::vector< bool > _isKey
true = déclencheur TileType::Key (ramassage par Interagir, ouverture définitive), figé au chargement ...
Definition MechanismController.h:147
std::vector< Mechanism > _mechanisms
Liaisons déclencheur↔porte (positions).
Definition MechanismController.h:141
std::vector< bool > _continuous
true = plaque de pression (activation continue), figé au chargement ; false = interrupteur à bascule ...
Definition MechanismController.h:145
TileMap _collision
Copie mutable : portes Solid (fermées) / Door (ouvertes).
Definition MechanismController.h:140
bool isContinuous(std::size_t index) const
Definition MechanismController.h:127
const std::vector< Mechanism > & mechanisms() const noexcept
Definition MechanismController.h:115
void update(const Aabb &playerBox, float playerMass=1.0f, bool interactPressed=false, const std::vector< TriggerWeight > &weights={})
Met à jour les mécanismes pour un pas : bascule les interrupteurs touchés (front),...
Definition MechanismController.cpp:69
MechanismController(const Level &level)
Construit le contrôleur depuis level : portes fermées (solides) au départ.
Definition MechanismController.cpp:42
bool crushedPlayer() const noexcept
Une porte s'est-elle refermée sur le personnage au dernier update (EX-GP-021, LOT-65 TACHE-06) ?
Definition MechanismController.h:105
bool isDoorOpen(std::size_t index) const
Definition MechanismController.h:120
Grille dense de tuiles typées (EX-GP-001), origine haut-gauche.
Definition TileMap.h:25
Espace de noms du moteur et de la logique de jeu.
Definition Bootstrap.h:9
Rectangle aligné aux axes, décrit par ses coins min (haut-gauche) et max (bas-droite),...
Definition Aabb.h:23
Poids posé sur un déclencheur par autre chose que le personnage (EX-GP-025, LOT-65 TACHE-06).
Definition MechanismController.h:33
Aabb box
Boîte réelle du poids, en unités monde.
Definition MechanismController.h:34
float mass
Masse, comparée au même seuil que celle du personnage.
Definition MechanismController.h:35