4template <
typename TSystem,
typename TErrorCallback>
12template <
typename TSystem,
typename TErrorCallback>
19 catch (
const std::exception &)
26template <
typename TSystem,
typename TErrorCallback>
37template <
typename TSystem,
typename TErrorCallback>
40 if constexpr (std::is_class_v<TSystem>)
42 return typeid(callable).hash_code();
46 return std::hash<TSystem>{}(callable);
50template <
typename TSystem,
typename TErrorCallback>
53 if constexpr (std::is_class_v<TSystem>)
The core is the place where all the data of the engine is stored. It contains the registry (entities)...
Definition Core.hpp:33
WrappedSystem(TSystem system, TErrorCallback errorCallback)
Constructor for WrappedSystem.
Definition WrappedSystem.ipp:5
FunctionUtils::FunctionID GetID() const override
Returns the unique ID of the system.
Definition WrappedSystem.ipp:27
std::string _name
Name of the system.
Definition WrappedSystem.hpp:59
static FunctionUtils::FunctionID GetCallableID(const TSystem &callable)
Get the ID of the system.
Definition WrappedSystem.ipp:38
TSystem _system
The wrapped system.
Definition WrappedSystem.hpp:50
static std::string GetCallableName(const TSystem &callable)
Get the name of the system.
Definition WrappedSystem.ipp:51
TErrorCallback _errorCallback
The error callback to be called if the system throws an exception.
Definition WrappedSystem.hpp:53
void operator()(Engine::Core &core) const override
Calls the system.
Definition WrappedSystem.ipp:13
FunctionUtils::FunctionID _id
Unique ID for the system.
Definition WrappedSystem.hpp:56
std::string GetName() const override
Get the name of the system.
Definition WrappedSystem.ipp:32
std::size_t FunctionID
FunctionID class to represent a unique identifier for functions.
Definition FunctionID.hpp:9
std::string DemangleTypeName(const std::type_info &typeInfo)
Definition Demangle.hpp:13