fix entity removal

This commit is contained in:
MihailRis 2024-06-29 21:20:12 +03:00
parent d22948f45c
commit f42cd9e567
3 changed files with 6 additions and 5 deletions

View File

@ -4,5 +4,6 @@ end
function on_grounded()
entity.transform:set_rot(mat4.rotate({0, 1, 0}, math.random()*360))
print(stdcomp)
entity:despawn()
end

View File

@ -40,10 +40,6 @@ return {
return entity
end,
remove_Entity = function(eid)
local entity = entities[eid]
if entity and entity.on_despawn then
entity.on_despawn()
end
entities[eid] = nil;
end
}

View File

@ -296,8 +296,12 @@ static bool process_entity_callback(
bool scripting::on_entity_despawn(const EntityDef& def, const Entity& entity) {
const auto& script = entity.getScripting();
if (script.funcsset.on_despawn) {
return process_entity_callback(script.env, "on_despawn", nullptr);
process_entity_callback(script.env, "on_despawn", nullptr);
}
auto L = lua::get_main_thread();
lua::get_from(L, "stdcomp", "remove_Entity", true);
lua::pushinteger(L, entity.getUID());
lua::call(L, 1, 0);
return true;
}