Files
Dawn/src/engine/Engine.hpp
2025-09-20 20:57:29 -05:00

49 lines
969 B
C++

// Copyright (c) 2025 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#pragma once
#include "time/Time.hpp"
#include "console/Console.hpp"
#include "display/Display.hpp"
#include "input/Input.hpp"
#include "asset/AssetManager.hpp"
namespace Dawn {
struct Engine {
private:
static Engine* instance;
bool_t exitRequested = false;
public:
Time time;
Console console;
Display display;
Input input;
AssetManager assetManager;
/**
* Constructor for the Dawn engine.
*/
Engine();
/**
* Check if an exit has been requested.
*
* @return True if an exit has been requested, false otherwise.
*/
bool_t isExitRequested() const;
/**
* Update the engine state.
*/
void update(void);
/**
* Destructor for the Dawn engine.
*/
~Engine();
};
}