Engine²
Open-source game engine written in C++.
Loading...
Searching...
No Matches
IScheduler.hpp
Go to the documentation of this file.
1#pragma once
2
3namespace Engine {
4class Core;
5}
6
7namespace Engine::Scheduler {
23
28 public:
30 virtual ~IScheduler() = default;
31
33 virtual void RunSystems(void) = 0;
34
39
43 virtual void SetErrorPolicy(SchedulerErrorPolicy errorPolicy) = 0;
44};
45} // namespace Engine::Scheduler
The core is the place where all the data of the engine is stored. It contains the registry (entities)...
Definition Core.hpp:33
Interface for the schedulers. A scheduler is responsible for running systems according to a specific ...
Definition IScheduler.hpp:27
virtual ~IScheduler()=default
Virtual destructor for IScheduler.
virtual void RunSystems(void)=0
Run the systems according to the scheduler policy.
virtual SchedulerErrorPolicy GetErrorPolicy() const =0
Get the scheduler policy.
virtual void SetErrorPolicy(SchedulerErrorPolicy errorPolicy)=0
Set the scheduler policy.
Definition AScheduler.cpp:7
SchedulerErrorPolicy
Enum that defines how the scheduler will handle errors.
Definition IScheduler.hpp:11
@ LogAndFinishScheduler
Log the error, run the next systems and stop execution of other schedulers.
Definition IScheduler.hpp:19
@ Silent
Fail silently.
Definition IScheduler.hpp:13
@ LogAndContinue
Just log the error and resume execution.
Definition IScheduler.hpp:17
@ LogAndStop
Log the error and stop execution.
Definition IScheduler.hpp:21
@ Nothing
Let the exception propagate.
Definition IScheduler.hpp:15
Definition Core.hpp:17