mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-08-03 23:36:59 -04:00
Merge branch 'activescripts' into 'master'
Mark scripts on newly scripted, active objects as active See merge request OpenMW/openmw!4785
This commit is contained in:
commit
eb67d1a1fb
@ -235,14 +235,17 @@ namespace MWLua
|
||||
&mOnSkillLevelUp });
|
||||
}
|
||||
|
||||
void LocalScripts::setActive(bool active)
|
||||
void LocalScripts::setActive(bool active, bool callHandlers)
|
||||
{
|
||||
mData.mIsActive = active;
|
||||
if (callHandlers)
|
||||
{
|
||||
if (active)
|
||||
callEngineHandlers(mOnActiveHandlers);
|
||||
else
|
||||
callEngineHandlers(mOnInactiveHandlers);
|
||||
}
|
||||
}
|
||||
|
||||
void LocalScripts::applyStatsCache()
|
||||
{
|
||||
|
@ -67,7 +67,7 @@ namespace MWLua
|
||||
MWBase::LuaManager::ActorControls* getActorControls() { return &mData.mControls; }
|
||||
const MWWorld::Ptr& getPtrOrEmpty() const { return mData.ptrOrEmpty(); }
|
||||
|
||||
void setActive(bool active);
|
||||
void setActive(bool active, bool callHandlers = true);
|
||||
bool isActive() const override { return mData.mIsActive; }
|
||||
void onConsume(const LObject& consumable) { callEngineHandlers(mOnConsumeHandlers, consumable); }
|
||||
void onActivated(const LObject& actor) { callEngineHandlers(mOnActivatedHandlers, actor); }
|
||||
|
@ -540,8 +540,11 @@ namespace MWLua
|
||||
localScripts = createLocalScripts(ptr);
|
||||
localScripts->addAutoStartedScripts();
|
||||
if (ptr.isInCell() && MWBase::Environment::get().getWorldScene()->isCellActive(*ptr.getCell()))
|
||||
{
|
||||
localScripts->setActive(true, false);
|
||||
mActiveLocalScripts.insert(localScripts);
|
||||
}
|
||||
}
|
||||
localScripts->addCustomScript(scriptId, initData);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user