Skip to main content

StateToViewportPolicyUpdateSystem.ixx File

System that updates active viewports based on game/match state. More...

Included Headers

Namespaces Index

namespacehelios
namespaceengine
namespacerendering
namespaceviewport
namespacesystems

Classes Index

classStateToViewportPolicyUpdateSystem<StateLft, StateRgt>

Updates the session's active viewport list based on state policy. More...

Description

System that updates active viewports based on game/match state.

File Listing

The file content with the documentation metadata removed is:

1
5module;
6
7
8#include <cassert>
9#include <vector>
10
11export module helios.engine.rendering.viewport.systems.StateToViewportPolicyUpdateSystem;
12
13import helios.engine.runtime.world.GameWorld;
14import helios.engine.runtime.world.Session;
15
16import helios.engine.state.StateToIdMapPair;
17
18import helios.engine.runtime.world.UpdateContext;
19import helios.engine.rendering.viewport.types.ViewportHandle;
20import helios.engine.runtime.world.tags.SystemRole;
21
22using namespace helios::engine::state;
25
55 template<typename StateLft, typename StateRgt>
57
62
63 public:
64
66
73 : stateToIdMapPair_(std::move(stateToIdMapPair)){}
74
84
85 auto& session = updateContext.session();
86
87 auto gameState = session.state<StateLft>();
88 auto matchState = session.state<StateRgt>();
89
90 session.clearViewportHandles();
91
92 auto viewportIds = stateToIdMapPair_.ids(gameState, matchState);
93 session.setViewportHandles(viewportIds);
94
95
96
97
98 }
99
100 };
101
102}
103

Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.