33#ifndef DVD_PLATFORM_CONTEXT_H_
34#define DVD_PLATFORM_CONTEXT_H_
54 class PlatformContextKernel;
97 void idle(
bool fast =
true,
U64 deltaTimeUSGame = 0u,
U64 deltaTimeUSApp = 0u );
109 [[nodiscard]]
const GUI&
gui() const noexcept {
return *
_gui; }
172 std::unique_ptr<GFXDevice>
_gfx;
176 std::unique_ptr<SFXDevice>
_sfx;
178 std::unique_ptr<PXDevice>
_pfx;
Class that provides an interface between our framework and the OS (start/stop, display support,...
static void onThreadCreated(const PlatformContext &context, const TaskPoolType poolType, const std::thread::id &threadID, const bool isMainRenderThread)
Rough around the edges Adapter pattern abstracting the actual rendering API and access to the GPU.
Graphical User Interface.
The kernel is the main system that connects all of our various systems: windows, gfx,...
const SFXDevice & sfx() const noexcept
std::unique_ptr< GFXDevice > _gfx
Access to the GPU.
std::unique_ptr< SFXDevice > _sfx
Access to the audio device.
DisplayWindow & mainWindow() noexcept
std::unique_ptr< GUI > _gui
The graphical user interface.
std::unique_ptr< Server > _server
Networking server.
DisplayWindow & activeWindow() noexcept
Application & app() noexcept
Kernel * _kernel
Main app's kernel.
Kernel & kernel() noexcept
const Application & app() const noexcept
const DebugInterface & debug() const noexcept
PXDevice & pfx() noexcept
Editor & editor() noexcept
const LocalClient & client() const noexcept
DebugInterface & debug() noexcept
SFXDevice & sfx() noexcept
const Editor & editor() const noexcept
const Configuration & config() const noexcept
const GFXDevice & gfx() const noexcept
TaskPool & taskPool(const TaskPoolType type) noexcept
Application & _app
Main application instance.
const GUI & gui() const noexcept
const TaskPool & taskPool(const TaskPoolType type) const noexcept
std::unique_ptr< Input::InputHandler > _inputHandler
Input handler.
ParamHandler & paramHandler() noexcept
const ParamHandler & paramHandler() const noexcept
std::unique_ptr< PXDevice > _pfx
Access to the physics system.
std::array< std::unique_ptr< TaskPool >, to_base(TaskPoolType::COUNT)> _taskPool
Task pools.
std::unique_ptr< LocalClient > _client
Networking client.
const Input::InputHandler & input() const noexcept
Server & server() noexcept
std::unique_ptr< DebugInterface > _debug
Debugging interface: read only / editable variables.
const Server & server() const noexcept
Input::InputHandler & input() noexcept
void init(Kernel &kernel)
LocalClient & client() noexcept
const PXDevice & pfx() const noexcept
std::unique_ptr< ParamHandler > _paramHandler
Param handler.
std::unique_ptr< Editor > _editor
Game editor.
GFXDevice & gfx() noexcept
void idle(bool fast=true, U64 deltaTimeUSGame=0u, U64 deltaTimeUSApp=0u)
std::unique_ptr< Configuration > _config
User configured settings.
Configuration & config() noexcept
void onThreadCreated(const TaskPoolType type, const std::thread::id &threadID, bool isMainRenderThread) const
Handle console commands that start with a forward slash.
void PlatformContextIdleCall()
constexpr auto to_base(const Type value) -> Type