Phase.ixx File
Represents a phase within the game loop containing multiple passes. More...
Included Headers
#include <memory>
#include <vector>
#include <helios.engine.runtime.world.Session>
#include <helios.engine.runtime.world.GameWorld>
#include <helios.engine.runtime.world.UpdateContext>
#include <helios.engine.runtime.enginestate.types>
#include <helios.engine.runtime.gameloop:CommitPoint>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | runtime |
| namespace | gameloop |
Classes Index
| class | Phase |
|
Represents a phase in the game loop containing multiple passes. More... | |
Description
Represents a phase within the game loop containing multiple passes.
File Listing
The file content with the documentation metadata removed is:
25using namespace helios::engine::runtime::enginestate::types;
26using namespace helios::engine::runtime::world;
28export namespace helios::engine::runtime::gameloop {
44 Pre,
49 Main,
54 Post
76 friend class helios::engine::runtime::gameloop::GameLoop;
98 void init(GameWorld& gameWorld){
99 for (auto& pass : passEntries_) {
123 void update(GameWorld& gameWorld, UpdateContext& updateContext){
125 for (auto& pass : passEntries_) {
127 if (pass->shouldRun(updateContext)) {
128 pass->update(updateContext);
129 notifyPassCommitListeners(pass->commitPoint(), gameWorld, updateContext);
152 bool notifyPassCommitListeners(CommitPoint commitPoint, GameWorld& gameWorld, UpdateContext& updateContext) {
154 for (const auto& passCommitListener : passCommitListeners_) {
155 passCommitListener->onPassCommit(commitPoint, gameWorld, updateContext);
168 helios::engine::runtime::gameloop::GameLoop& gameloop_;
170 helios::engine::runtime::world::GameWorld& gameWorld_;
180 explicit Phase(helios::engine::runtime::gameloop::GameLoop& gameloop, GameWorld& gameWorld) : gameloop_(gameloop), gameWorld_(gameWorld) {
206 if (passCommitListeners_[i] == passCommitListener) {
211 passCommitListeners_.emplace_back(passCommitListener);
237 passEntries_.emplace_back(std::move(entry));
239 return *raw;
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.