CyclicSpawnScheduler.ixx File
Scheduler that cycles through spawn rules in round-robin order. More...
Included Headers
#include <cassert>
#include <memory>
#include <queue>
#include <ranges>
#include <unordered_map>
#include <vector>
#include <algorithm>
#include <helios.core.types>
#include <helios.engine.runtime.spawn.policy.SpawnRuleState>
#include <helios.engine.runtime.spawn.policy.SpawnRule>
#include <helios.engine.runtime.pooling.GameObjectPoolManager>
#include <helios.engine.runtime.spawn.types>
#include <helios.engine.runtime.spawn.scheduling.ScheduledSpawnPlan>
#include <helios.engine.runtime.spawn.scheduling.SpawnPlan>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.runtime.spawn.SpawnManager>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.runtime.spawn.scheduling.DefaultRuleProcessor>
#include <helios.engine.runtime.spawn.scheduling.SpawnScheduler>
Namespaces Index
| namespace | helios |
| namespace | engine |
|
Main engine module aggregating core infrastructure and game systems. More... | |
| namespace | runtime |
|
Runtime infrastructure for game execution and lifecycle orchestration. More... | |
| namespace | spawn |
|
Entity spawning infrastructure for the helios engine. More... | |
| namespace | scheduling |
|
Spawn scheduling and plan management. More... | |
Classes Index
| struct | RuleConfig |
|
Configuration pairing a spawn profile with its rule. More... | |
| class | CyclicSpawnScheduler<N> |
|
Scheduler that cycles through spawn rules in round-robin order. More... | |
Description
Scheduler that cycles through spawn rules in round-robin order.
File Listing
The file content with the documentation metadata removed is:
32using namespace helios::engine::runtime::spawn::types;
33using namespace helios::engine::runtime::world;
34export namespace helios::engine::runtime::spawn::scheduling {
39 struct RuleConfig {
44 helios::engine::runtime::spawn::types::SpawnProfileId spawnProfileId{helios::core::types::no_init};
92 class CyclicSpawnScheduler : public SpawnScheduler {
120 DefaultRuleProcessor ruleProcessor_;
136 const GameWorld& gameWorld,
137 const UpdateContext& updateContext,
138 const SpawnContext& spawnContext ) noexcept override {
140 scheduledSpawnPlans_.clear();
149 scheduledSpawnPlans_.push_back({
174 const helios::engine::runtime::spawn::types::SpawnProfileId spawnProfileId,
203 void commit(const helios::engine::runtime::spawn::types::SpawnRuleId spawnRuleId, const size_t spawnCount) noexcept override{
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.