Nikita Kruglickiy 1a0785862d Initial commit
2020-12-25 22:18:23 +06:00

36 lines
1.1 KiB
Plaintext

local MAX_QUOTA = 0.75
Parser = class("Parser")
function Parser:initialize(link)
if CLIENT then
local triangles = mesh.trianglesLeft()
local createFromObjCoroutine = coroutine.create(function(objData)
self:OnLoaded(objData, mesh.createFromObj(objData, true))
end)
print("Getting file...")
http.get(link, function(objData)
local loadMesh = coroutine.wrap(function()
self.meshData = mesh.createFromObj(objData, true)
return true
end)
print("File received, start parsing...")
hook.add("think", "loadingMesh", function()
while quotaAverage() < quotaMax() * MAX_QUOTA do
if loadMesh() then
self:onLoaded(objData, self.meshData, triangles - mesh.trianglesLeft())
hook.remove("think", "loadingMesh")
return
end
end
end)
end)
end
end
function Parser:onLoaded(objData, meshData, usedTriangles)
end