mirror of
https://github.com/MihailRis/voxelcore.git
synced 2026-10-10 21:41:50 +00:00
add entity:require_component
This commit is contained in:
parent
b406bc1ec4
commit
854dcf2a50
3 changed files with 11 additions and 0 deletions
|
|
@ -26,6 +26,8 @@ entity:get_uid() -> int
|
||||||
entity:get_component(name: str) -> component or nil
|
entity:get_component(name: str) -> component or nil
|
||||||
-- Checks for the presence of a component by name
|
-- Checks for the presence of a component by name
|
||||||
entity:has_component(name: str) -> bool
|
entity:has_component(name: str) -> bool
|
||||||
|
-- Retrieves a component by name. Throws an exception if it does not exist
|
||||||
|
entity:require_component(name: str) -> component
|
||||||
|
|
||||||
-- Enables/disables the component
|
-- Enables/disables the component
|
||||||
entity:set_enabled(name: str, enable: bool)
|
entity:set_enabled(name: str, enable: bool)
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,8 @@ entity:get_uid() -> int
|
||||||
entity:get_component(name: str) -> компонент или nil
|
entity:get_component(name: str) -> компонент или nil
|
||||||
-- Проверяет наличие компонента по имени
|
-- Проверяет наличие компонента по имени
|
||||||
entity:has_component(name: str) -> bool
|
entity:has_component(name: str) -> bool
|
||||||
|
-- Запрашивает компонент по имени. Бросает исключение при отсутствии
|
||||||
|
entity:require_component(name: str) -> компонент
|
||||||
|
|
||||||
-- Включает/выключает компонент по имени
|
-- Включает/выключает компонент по имени
|
||||||
entity:set_enabled(name: str, enable: bool)
|
entity:set_enabled(name: str, enable: bool)
|
||||||
|
|
|
||||||
|
|
@ -63,6 +63,13 @@ local Entity = {__index={
|
||||||
get_skeleton=function(self) return entities.get_skeleton(self.eid) end,
|
get_skeleton=function(self) return entities.get_skeleton(self.eid) end,
|
||||||
set_skeleton=function(self, s) return entities.set_skeleton(self.eid, s) end,
|
set_skeleton=function(self, s) return entities.set_skeleton(self.eid, s) end,
|
||||||
get_component=function(self, name) return self.components[name] end,
|
get_component=function(self, name) return self.components[name] end,
|
||||||
|
require_component=function(self, name)
|
||||||
|
local component = self.components[name]
|
||||||
|
if not component then
|
||||||
|
error(("entity has no required component '%s'"):format(name))
|
||||||
|
end
|
||||||
|
return component
|
||||||
|
end,
|
||||||
has_component=function(self, name) return self.components[name] ~= nil end,
|
has_component=function(self, name) return self.components[name] ~= nil end,
|
||||||
get_uid=function(self) return self.eid end,
|
get_uid=function(self) return self.eid end,
|
||||||
def_index=function(self) return entities.get_def(self.eid) end,
|
def_index=function(self) return entities.get_def(self.eid) end,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue