WindowBasedShutdownSystem.ixx File
System that requests runtime shutdown when no active windows remain. More...
Included Headers
#include <helios.engine.platform.environment.components>
#include <helios.ecs.components.Active>
#include <helios.engine.platform.lifecycle.commands>
#include <helios.engine.runtime.messaging.command.NullCommandBuffer>
#include <helios.engine.platform.environment.concepts>
#include <helios.engine.runtime.messaging.command.concepts.IsCommandBufferLike>
#include <helios.engine.runtime.world>
#include <helios.engine.platform.window.components>
#include <helios.engine.runtime.world.tags.SystemRole>
#include <helios.engine.platform.window.concepts>
#include <helios.engine.runtime.world.UpdateContext>
Namespaces Index
| namespace | helios |
| namespace | engine |
| namespace | platform |
| namespace | lifecycle |
| namespace | systems |
Classes Index
| class | WindowBasedShutdownSystem<THandle, TCommandBuffer> |
|
Queues ShutdownCommand when no active window entities are left. More... | |
Description
System that requests runtime shutdown when no active windows remain.
File Listing
The file content with the documentation metadata removed is:
28using namespace helios::engine::runtime::world::tags;
29using namespace helios::engine::runtime::world;
30using namespace helios::engine::runtime::messaging::command;
32using namespace helios::engine::platform::environment::components;
33using namespace helios::engine::platform::window::components;
36using namespace helios::engine::platform::lifecycle::commands;
39export namespace helios::engine::platform::lifecycle::systems {
47 requires IsWindowHandle<THandle> && IsCommandBufferLike<TCommandBuffer>
48 class WindowBasedShutdownSystem {
52 using CommandBuffer_type = TCommandBuffer;
57 using EngineRoleTag = SystemRole;
65 void update(UpdateContext& updateContext, TCommandBuffer& cmdBuffer) noexcept {
67 if (updateContext.view<THandle, WindowComponent<THandle>, Active<THandle>>().whereEnabled().empty()) {
68 cmdBuffer.template add<ShutdownCommand>();
Generated via doxygen2docusaurus 2.0.0 by Doxygen 1.9.8.