13template <
typename TSystem,
typename TErrorCallback>
39 catch (
const std::exception &)
63 if constexpr (std::is_class_v<TSystem>)
65 return typeid(callable).hash_code();
69 return std::hash<TSystem>{}(callable);
80 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.hpp:20
FunctionUtils::FunctionID GetID() const override
Returns the unique ID of the system.
Definition WrappedSystem.hpp:49
std::string _name
Name of the system.
Definition WrappedSystem.hpp:101
~WrappedSystem() override=default
Destructor for WrappedSystem.
TSystem _system
The wrapped system.
Definition WrappedSystem.hpp:92
static FunctionUtils::FunctionID GetCallableID(const TSystem &callable)
Get the ID of the system.
Definition WrappedSystem.hpp:61
TErrorCallback _errorCallback
The error callback to be called if the system throws an exception.
Definition WrappedSystem.hpp:95
void operator()(Engine::Core &core) const override
Calls the system.
Definition WrappedSystem.hpp:33
static std::string GetCallableName(const TSystem &callable)
Get the name of the system.
Definition WrappedSystem.hpp:78
FunctionUtils::FunctionID _id
Unique ID for the system.
Definition WrappedSystem.hpp:98
std::string GetName() const override
Get the name of the system.
Definition WrappedSystem.hpp:54
Base class for all functions contained in a FunctionContainer.
Definition BaseFunction.hpp:10
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