15 if (_scriptsIndex.contains(name)) {
21 if (!engine || !engine->scripts()) {
25 auto instance = engine->scripts()->create(name);
30 Script* script = instance.get();
34 script->_enabled = options.
enabled;
37 _scripts.push_back({ name, std::move(instance) });
38 _scriptsIndex[name] = _scripts.size() - 1;
45 initializeScriptInstance(script);
60 if (!oldValue && value) {
61 for (
auto& entry : _scripts) {
62 initializeScriptInstance(entry.instance.get());
67 void ScriptComponent::initializeScriptInstance(
Script* script)
77 if (!script->_initialized) {
78 script->_initialized =
true;
82 if (!script->_postInitialized) {
83 script->_postInitialized =
true;
94 for (
auto& entry : _scripts) {
95 auto* script = entry.instance.get();
96 if (!script || !script->_initialized || !script->
enabled()) {
109 for (
auto& entry : _scripts) {
110 auto* script = entry.instance.get();
111 if (!script || !script->_initialized || !script->
enabled()) {
124 for (
auto& entry : _scripts) {
125 auto* script = entry.instance.get();
126 if (!script || !script->_initialized || !script->
enabled()) {
virtual void setEnabled(bool value)
void setEnabled(bool value) override
void fixedUpdateScripts(float fixedDt)
void postUpdateScripts(float dt)
void updateScripts(float dt)
virtual void fixedUpdate(float fixedDt)
virtual void postUpdate(float dt)
virtual void postInitialize()
virtual void initialize()
virtual void update(float dt)