From 3549c1f32644c43752d86dca6e6dbae6d6aa0874 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 18 Jul 2024 12:08:43 +0300 Subject: [PATCH] update entity methods set --- doc/en/scripting/ecs.md | 7 +++++-- doc/ru/scripting/ecs.md | 7 +++++-- res/modules/internal/stdcomp.lua | 3 ++- src/logic/scripting/lua/libentity.cpp | 2 +- 4 files changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/en/scripting/ecs.md b/doc/en/scripting/ecs.md index 8f6a1ce8..8ff0d5fa 100644 --- a/doc/en/scripting/ecs.md +++ b/doc/en/scripting/ecs.md @@ -15,8 +15,11 @@ The entity object is available in components as a global variable **entity**. -- Deletes an entity (the entity may continue to exist until the frame ends, but will not be displayed in that frame) entity:despawn() --- Returns entity name (string ID) -entity:get_name() +-- Returns entity defintion index (integer ID) +entity:def_index() -> int + +-- Returns entity definition name (string ID) +entity:def_name() -> str -- Returns the name of the entity skeleton entity:get_skeleton() -> str diff --git a/doc/ru/scripting/ecs.md b/doc/ru/scripting/ecs.md index c713a3a0..3c8c6cb8 100644 --- a/doc/ru/scripting/ecs.md +++ b/doc/ru/scripting/ecs.md @@ -16,8 +16,11 @@ Lua. -- Удаляет сущность (сущность может продолжать существовать до завершения кадра, но не будет отображена в этом кадре) entity:despawn() --- Возвращает имя сущности (строковый ID) -entity:get_name() +-- Возвращает индекс определения сущности (числовой ID) +entity:def_index() -> int + +-- Возвращает имя определения сущности (строковый ID) +entity:def_name() -> str -- Возращает имя скелета сущности entity:get_skeleton() -> str diff --git a/res/modules/internal/stdcomp.lua b/res/modules/internal/stdcomp.lua index 06d99016..3d5c7194 100644 --- a/res/modules/internal/stdcomp.lua +++ b/res/modules/internal/stdcomp.lua @@ -62,7 +62,8 @@ local Entity = {__index={ get_component=function(self, name) return self.components[name] end, has_component=function(self, name) return self.components[name] ~= nil end, get_uid=function(self) return self.eid end, - get_def=function(self) return entities.get_def(self.eid) end, + def_index=function(self) return entities.get_def(self.eid) end, + def_name=function(self) return entities.def_name(entities.get_def(self.eid)) end, }} local entities = {} diff --git a/src/logic/scripting/lua/libentity.cpp b/src/logic/scripting/lua/libentity.cpp index 0cfa2467..55c36090 100644 --- a/src/logic/scripting/lua/libentity.cpp +++ b/src/logic/scripting/lua/libentity.cpp @@ -43,7 +43,7 @@ static int l_defs_count(lua::State* L) { static int l_get_def(lua::State* L) { if (auto entity = get_entity(L, 1)) { - return lua::pushstring(L, entity->getDef().name); + return lua::pushinteger(L, entity->getDef().rt.id); } return 0; }