36 lines
1.2 KiB
Lua
36 lines
1.2 KiB
Lua
-- Standard components OOP wrappers (__index tables of metatables)
|
|
|
|
local Transform = {__index={
|
|
get_pos=function(self) return __transform.get_pos(self.eid) end,
|
|
set_pos=function(self, v) return __transform.set_pos(self.eid, v) end,
|
|
get_rot=function(self) return __transform.get_rot(self.eid) end,
|
|
set_rot=function(self, m) return __transform.set_rot(self.eid, m) end,
|
|
}}
|
|
|
|
function new_Transform(eid)
|
|
return setmetatable({eid=eid}, Transform)
|
|
end
|
|
|
|
local Rigidbody = {__index={
|
|
is_enabled=function(self) return __rigidbody.is_enabled(self.eid) end,
|
|
set_enabled=function(self, f) return __rigidbody.set_enabled(self.eid, f) end,
|
|
get_vel=function(self) return __rigidbody.get_vel(self.eid) end,
|
|
set_vel=function(self, v) return __rigidbody.set_vel(self.eid, v) end,
|
|
get_size=function(self) return __rigidbody.get_size(self.eid) end,
|
|
}}
|
|
|
|
function new_Rigidbody(eid)
|
|
return setmetatable({eid=eid}, Rigidbody)
|
|
end
|
|
|
|
-- Entity class
|
|
|
|
local Entity = {__index={}}
|
|
|
|
return {new_Entity = function(eid)
|
|
local entity = setmetatable({eid=eid}, Entity)
|
|
entity.transform = new_Transform(eid)
|
|
entity.rigidbody = new_Rigidbody(eid)
|
|
return entity
|
|
end}
|