29 FEngineInformation(
Parameters::CreateEngineInformation()),
32 FHeap(
Parameters::ENGINE_HEAP_INITIAL_COMMIT_SIZE),
33 FEngineContext(FHeap, FLogger, true),
34 FCommandLine(ANumArguments, AArguments)
37 static_cast<void>(ANumArguments);
38 static_cast<void>(AArguments);
51 Core CyberEngineMarkIII(ANumArguments, AArguments);
58 return *FCurrentContext;
62 FCurrentContext = &ANewContext;
66 FEngineContext.MakeCurrent();
75 FThreadID = FThreadCounter.fetch_add(1, std::memory_order_relaxed) + 1;
Core(const unsigned int ANumArguments, const oschar_t *const *const AArguments)
Constructs the engine components.
Context & CurrentContext(void) noexcept
Get the current Context.
An instance of this object is the entirety of the engine.
Logger FLogger
The engine's primary Logger.
A string pointing to unchanging data in the stack above it or the data segment. Must have UTF-8 encod...
void DefaultContext(void) noexcept
Set the current Context to FEngineContext.
void SetCurrentContext(Context &ANewContext) noexcept
Set the current Context.
Compilation configuration variables.
static thread_local unsigned long long FThreadID
ID of the checking thread.
~Core()
Cleans up the engine and terminates the process.
void Log(const API::String::CStyle &AMessage, const Level ALevel) finaloverride
Log a message. Will be written to a text file on the Path returned by CurrentLog. ...
Implements the engine level functions for API::Interop::Contexts.
Precompiled header for inter-engine operations.
A class for creating static singletons.
Engine::Core & Core(void) noexcept
Retrieve the Core singleton.
unsigned long long ThreadID(void) noexcept
Possibly assign and return the current thread's serial ID for this execution.
static void Run(const unsigned int ANumArguments, const oschar_t *const *const AArguments) noexcept
Runs the engine and self terminates.
static Core & GetCore(void) noexcept
Retrieve the Core singleton.
Debug messages, enabled/disabled by default in engine debug/release builds respectively.
static thread_local Context * FCurrentContext
The current Context in use.