Nikita Kruglickiy f1eaecd79e Update
2021-03-17 18:21:42 +06:00

97 lines
2.0 KiB
Plaintext

--@include /koptilnya/libs/utils.txt
require("/koptilnya/libs/utils.txt")
accessorFunc(Mesh, "_relativeTo", "RelativeTo", nil)
function Mesh:initialize(pos, ang, scale, color, mat, parent, relativeTo)
--create holo
self:setPos(pos)
self:setAng(ang)
self:setScale(scale)
self:setColor(color)
self:setMaterial(mat)
self:setParent(parent)
self:setRelativeTo(relativeTo)
end
function Mesh:getPos()
return self:getEntity():getPos()
end
function Mesh:setPos(pos)
self:getEntity():setPos(pos)
end
function Mesh:getRelativePos()
if isValid(self:getRelativeTo()) then
return self:getRelativeTo():worldToLocal(self:getPos())
else
return self:getPos()
end
end
function Mesh:setRelativePos(pos)
if isValid(self:getRelativeTo()) then
self:setPos(self:getRelativeTo():localToWorld(pos))
else
self:setPos(pos)
end
end
function Mesh:getAng()
return self:getEntity():getAng()
end
function Mesh:setAng(pos)
self:getEntity():setAng(pos)
end
function Mesh:getRelativeAng()
if isValid(self:getRelativeTo()) then
return self:getRelativeTo():worldToLocalAngles(self:getAng())
else
return self:getAng()
end
end
function Mesh:setRelativeAng(ang)
if isValid(self:getRelativeTo()) then
self:setAng(self:getRelativeTo():localToWorldAngles(ang))
else
self:setAng(ang)
end
end
function Mesh:getScale()
return self:getEntity():getScale()
end
function Mesh:setScale(scale)
self:getEntity():setScale(scale)
end
function Mesh:getColor()
return self:getEntity():getColor()
end
function Mesh:setColor(color)
self:getEntity():setColor(color)
end
function Mesh:getMaterial()
return self:getEntity():getMaterial()
end
function Mesh:setMaterial(material)
self:getEntity():setMaterial(material)
end
function Mesh:getParent()
return self:getEntity():getParent()
end
function Mesh:setParent(parent)
self:getEntity():setParent(parent)
end