SpawnScheduler.ixx File
Scheduler that evaluates spawn rules and produces spawn plans. More...
Included Headers
#include <span>
#include <vector>
#include <algorithm>
#include <helios.engine.runtime.spawn.policy.SpawnRule>
#include <helios.engine.runtime.spawn.types.SpawnRuleId>
#include <helios.engine.runtime.spawn.types.SpawnProfileId>
#include <helios.engine.runtime.spawn.scheduling.ScheduledSpawnPlan>
#include <helios.engine.runtime.pooling.GameObjectPoolManager>
#include <helios.engine.runtime.spawn.scheduling.SpawnPlan>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.runtime.spawn.policy.SpawnRuleState>
#include <helios.engine.runtime.spawn.types.SpawnContext>
#include <helios.engine.runtime.world.UpdateContext>
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
| class | SpawnScheduler |
|
Abstract base class for spawn schedulers. More... | |
Description
Scheduler that evaluates spawn rules and produces spawn plans.
File Listing
The file content with the documentation metadata removed is:
25using namespace helios::engine::runtime::spawn::types;
26using namespace helios::engine::runtime::world;
27export namespace helios::engine::runtime::spawn::scheduling {
54 class SpawnScheduler {
61 std::vector<ScheduledSpawnPlan> scheduledSpawnPlans_;
68 virtual ~SpawnScheduler() = default;
73 SpawnScheduler() = default;
87 const GameWorld& gameWorld,
88 const UpdateContext& updateContext,
89 const SpawnContext& spawnContext = {}) noexcept = 0;
97 [[nodiscard]] std::span<const ScheduledSpawnPlan> scheduledPlans() {
98 return scheduledSpawnPlans_;
109 [[nodiscard]] std::vector<ScheduledSpawnPlan> drainScheduledPlans() {
111 plans.swap(scheduledSpawnPlans_);
125 virtual void commit(SpawnRuleId spawnRuleId, const size_t spawnCount) noexcept = 0;
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.15.0.