PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
application_internal.h
1#pragma once
2#ifndef PIXELBULLET_ENGINE_SRC_APPLICATION_APPLICATION_INTERNAL_H
3#define PIXELBULLET_ENGINE_SRC_APPLICATION_APPLICATION_INTERNAL_H
4
5#include "pixelbullet/application/application.h"
6#include "pixelbullet/integration/application/runtime/host_control.h"
7
8#include <memory>
9#include <optional>
10#include <utility>
11
12namespace pixelbullet
13{
14class Audio;
15class Filesystem;
16class Graphics;
17class LayerStack;
19class UiFrameLayer;
20class Window;
21
22class ApplicationState
23{
24public:
25 ApplicationState(ApplicationSpecification specification_in, ApplicationLaunchOptions launch_options_in);
26 ~ApplicationState();
27
28 std::unique_ptr<Filesystem> filesystem;
29 std::unique_ptr<GraphicsResourceCache> graphics_resource_cache;
30 std::unique_ptr<Window> window;
31 std::unique_ptr<Graphics> graphics;
32 std::unique_ptr<Audio> audio;
33 std::unique_ptr<LayerStack> layer_stack;
34 UiFrameLayer* ui_frame_layer = nullptr;
35
36 ApplicationSpecification specification;
37 ApplicationLaunchOptions launch_options;
38 integration::application::runtime::ApplicationHostControlCallbacks host_control_callbacks;
39 bool running = true;
40 bool minimized = false;
41 std::optional<double> last_frame_time_seconds;
42};
43} // namespace pixelbullet
44
45#endif // PIXELBULLET_ENGINE_SRC_APPLICATION_APPLICATION_INTERNAL_H
Definition audio.h:25
Definition filesystem.h:20
Definition graphics_resource_cache.h:16
Host-facing graphics subsystem shell.
Definition graphics.h:21
Definition layer_stack.h:12
Definition layer.h:50
Definition window.h:30
Definition specification.h:53
Contains configuration options for both the game and the engine.
Definition specification.h:84