PixelBullet  0.0.1
A C++ game engine
Loading...
Searching...
No Matches
application_internal.h
1#pragma once
2
3#include "pixelbullet/application/application.h"
4
5#include <memory>
6#include <utility>
7
8namespace pixelbullet
9{
10class Audio;
11class Filesystem;
12class Graphics;
13class LayerStack;
14class ResourceCache;
15class UiFrameLayer;
16class Window;
17
18class ApplicationState
19{
20public:
21 ApplicationState(ApplicationSpecification specification_in, ApplicationLaunchOptions launch_options_in);
22 ~ApplicationState();
23
24 std::unique_ptr<Filesystem> filesystem;
25 std::unique_ptr<ResourceCache> resource_cache;
26 std::unique_ptr<Window> window;
27 std::unique_ptr<Graphics> graphics;
28 std::unique_ptr<Audio> audio;
29 std::unique_ptr<LayerStack> layer_stack;
30 UiFrameLayer* ui_frame_layer = nullptr;
31
32 ApplicationSpecification specification;
33 ApplicationLaunchOptions launch_options;
34 bool running = true;
35 bool minimized = false;
36 float last_frame_time = 0.0f;
37};
38} // namespace pixelbullet
Definition audio.h:22
Definition filesystem.h:16
Host-facing graphics subsystem shell.
Definition graphics.h:21
Definition layer_stack.h:12
Definition resource_cache.h:16
Definition layer.h:17
Definition window.h:34
Definition specification.h:69
Contains configuration options for both the game and the engine.
Definition specification.h:162