10#include <unordered_map>
37 static_assert(std::is_base_of_v<Script, T>,
"T must derive from Script");
38 return static_cast<T*
>(
create(T::scriptName()));
52 void initializeScriptInstance(
Script* script);
57 std::unique_ptr<Script> instance;
60 std::unordered_map<std::string, size_t> _scriptsIndex;
62 std::vector<ScriptEntry> _scripts;
63 int _executionOrder = 0;
Component(IComponentSystem *system, Entity *entity)
IComponentSystem * system() const
ECS entity — a GraphNode that hosts components defining its behavior.
void setExecutionOrder(const int value)
ScriptComponent(IComponentSystem *system, Entity *entity)
void setEnabled(bool value) override
int executionOrder() const
void fixedUpdateScripts(float fixedDt)
void initializeComponentData() override
void postUpdateScripts(float dt)
void updateScripts(float dt)