Pass.ixx File
Abstract base class for game loop passes. More...
Included Headers
#include <type_traits>
#include <utility>
#include <memory>
#include <cassert>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.runtime.world.concepts>
#include <helios.engine.runtime.world.System>
#include <helios.engine.runtime.enginestate.types>
#include <helios.engine.runtime.world.SystemRegistry>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.runtime.gameloop:CommitPoint>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | runtime |
| namespace | gameloop |
Classes Index
| class | Pass |
|
Abstract base class for game loop passes. More... | |
Description
Abstract base class for game loop passes.
File Listing
The file content with the documentation metadata removed is:
26using namespace helios::engine::runtime::world;
27export namespace helios::engine::runtime::gameloop {
74 explicit Pass(GameWorld& gameWorld) : gameWorld_(gameWorld) {};
81 virtual void update(helios::engine::runtime::world::UpdateContext& updateContext) = 0;
88 virtual void init(helios::engine::runtime::world::GameWorld& gameWorld) = 0;
97 virtual Phase& addCommitPoint(const CommitPoint commitPoint = CommitPoint::PassEvents) = 0;
104 virtual CommitPoint commitPoint() const noexcept = 0;
113 virtual bool shouldRun(helios::engine::runtime::world::UpdateContext& updateContext) const noexcept = 0;
133 T concreteSystem(std::forward<Args>(args)...);
135 void* bufferPtr = nullptr;
137 using TCommandBuffer = typename T::CommandBuffer_type;
138 bufferPtr = gameWorld_.tryCommandBuffer<TCommandBuffer>();
142 systemRegistry_.template add<T>(
143 System(std::move(concreteSystem), bufferPtr)
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.