ScorePoolManager.ixx File
Manager for score pools and score command handling. More...
Included Headers
#include <cassert>
#include <memory>
#include <stdexcept>
#include <unordered_map>
#include <helios.engine.common>
#include <helios.util.Guid>
#include <helios.core.types>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.runtime.pooling.GameObjectPool>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.mechanics.scoring.types.ScorePoolId>
#include <helios.engine.ecs.GameObject>
#include <helios.engine.mechanics.scoring.commands>
#include <helios.engine.mechanics.scoring.types.ScoreValueContext>
#include <helios.engine.mechanics.scoring.ScorePool>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | mechanics |
|
High-level gameplay systems and components for game logic. More... | |
| namespace | scoring |
|
Score management and tracking system for game mechanics. More... | |
Classes Index
| class | ScorePoolManager |
|
Manages score pools and processes score commands. More... | |
Description
Manager for score pools and score command handling.
File Listing
The file content with the documentation metadata removed is:
31using namespace helios::engine::mechanics::scoring::commands;
32using namespace helios::engine::runtime::messaging::command;
34export namespace helios::engine::mechanics::scoring {
51 class ScorePoolManager {
75 ScorePool& addScorePool(helios::engine::mechanics::scoring::types::ScorePoolId scorePoolId) noexcept {
77 assert(!scorePool(scorePoolId) && "Score with scorePoolId already registered");
92 [[nodiscard]] ScorePool* scorePool(const helios::engine::mechanics::scoring::types::ScorePoolId scorePoolId) noexcept {
94 const auto it = std::ranges::find_if(pools_, [&scorePoolId](const auto& scorePool) -> bool {
95 return scorePool.scorePoolId() == scorePoolId;
116 helios::engine::runtime::world::UpdateContext& update_context
142 UpdateScoreCommand updateScoreCommand
154 void init(helios::engine::runtime::world::GameWorld& gameWorld) {
155 gameWorld.registerCommandHandler<UpdateScoreCommand>(*this);
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.