-- @server MeshBuilder = class("MeshBuilder") function MeshBuilder:initialize(link, modelPlaceholder) self.link = link self.modelPlaceholder = modelPlaceholder or "models/holograms/cube.mdl" self._objects = {} end function MeshBuilder:_sendHolograms() if #self._objects == 0 then return end net.start("holograms") for _, v in pairs(self._objects) do net.writeBit(1) net.writeString(v.name) net.writeEntity(v.holo) print(v.name) end net.writeBit(0) net.send() end function MeshBuilder:reset() self._objects = {} end function MeshBuilder:build(name, pos, ang, scale, color, mat, parent, relativeTo) if isValid(relativeTo) then pos = relativeTo:localToWorld(pos) ang = relativeTo:localToWorldAngles(ang) end local holo = holograms.create(pos, ang, self.modelPlaceholder, scale) holo:setColor(color) holo:setMaterial(mat) if isValid(parent) then holo:setParent(parent) end table.insert(self._objects, {name = name, holo = holo}) end function MeshBuilder:getResult() local result = self._objects self:_sendHolograms() self:reset() return result end