1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Add on_deactivate callback for luaentities (#10723)

This commit is contained in:
hecks 2021-01-02 15:14:29 +01:00 committed by GitHub
parent ad58fb2206
commit dd5a732fa9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
12 changed files with 106 additions and 27 deletions

View file

@ -112,6 +112,15 @@ void LuaEntitySAO::addedToEnvironment(u32 dtime_s)
}
}
void LuaEntitySAO::dispatchScriptDeactivate()
{
// Ensure that this is in fact a registered entity,
// and that it isn't already gone.
// The latter also prevents this from ever being called twice.
if (m_registered && !isGone())
m_env->getScriptIface()->luaentity_Deactivate(m_id);
}
void LuaEntitySAO::step(float dtime, bool send_recommended)
{
if(!m_properties_sent)
@ -302,7 +311,7 @@ u16 LuaEntitySAO::punch(v3f dir,
{
if (!m_registered) {
// Delete unknown LuaEntities when punched
m_pending_removal = true;
markForRemoval();
return 0;
}
@ -335,7 +344,7 @@ u16 LuaEntitySAO::punch(v3f dir,
clearParentAttachment();
clearChildAttachments();
m_env->getScriptIface()->luaentity_on_death(m_id, puncher);
m_pending_removal = true;
markForRemoval();
}
actionstream << puncher->getDescription() << " (id=" << puncher->getId() <<