This commit is contained in:
Nikita Kruglickiy
2021-03-22 01:19:28 +06:00
parent 20bd0f06d5
commit 813a7d27a7
4 changed files with 34 additions and 24 deletions

View File

@@ -8,6 +8,7 @@ function MeshBuilder:initialize(link, modelPlaceholder)
self._objectsNames = {}
self._objects = {}
self._readyPlayers = {}
http.get(link, function(response)
for object in string.gmatch(response, "^?\n?o%s([%w_%.%-]+)") do
@@ -16,13 +17,16 @@ function MeshBuilder:initialize(link, modelPlaceholder)
self.isReady = true
self:onReady(self._objectsNames)
self:_sendHolograms()
for _, v in pairs(self._readyPlayers) do
self:_sendHolograms(v)
end
end)
hook.add("ClientInitialized", "MeshBuilder_ClientInitialized", function(ply)
if self.isReady then
self:_sendHolograms(ply)
end
net.receive("ready", function(len, ply)
table.insert(self._readyPlayers, ply)
self:_sendHolograms(ply)
end)
end
@@ -45,10 +49,6 @@ function MeshBuilder:onReady(objectsNames)
end
function MeshBuilder:build(name, pos, ang, scale, color, mat, parent, relativeTo)
if not self.isReady then
throw("Call build methods when builder is ready!")
end
if isValid(relativeTo) then
pos = relativeTo:localToWorld(pos)
ang = relativeTo:localToWorldAngles(ang)
@@ -63,13 +63,11 @@ function MeshBuilder:build(name, pos, ang, scale, color, mat, parent, relativeTo
end
table.insert(self._objects, {name = name, holo = holo})
return name, holo
end
function MeshBuilder:buildAll(pos, ang, scale, color, mat, parent, relativeTo)
if not self.isReady then
throw("Call build methods when builder is ready!")
end
for _, v in pairs(self._objectsNames) do
self:build(v, pos, ang, scale, color, mat, parent, relativeTo)
end