refactor(streaming): convert to modules

Import methods rather than call via exports.
This commit is contained in:
Linden
2022-11-21 21:39:01 +11:00
parent 6825103dd5
commit 00c2086072
9 changed files with 213 additions and 86 deletions

View File

@@ -0,0 +1,31 @@
---Load a texture dictionary. When called from a thread, it will yield until it has loaded.
---@param textureDict string
---@param timeout number? Number of ticks to wait for the dictionary to load. Default is 500.
---@return string? textureDict
function lib.requestStreamedTextureDict(textureDict, timeout)
if HasStreamedTextureDictLoaded(textureDict) then return textureDict end
if type(textureDict) ~= 'string' then
error(("expected textureDict to have type 'string' (received %s)"):format(type(textureDict)))
end
RequestStreamedTextureDict(textureDict)
if coroutine.running() then
timeout = tonumber(timeout) or 500
for _ = 1, timeout do
if HasStreamedTextureDictLoaded(textureDict) then
return textureDict
end
Wait(0)
end
print(("failed to load textureDict '%s' after %s ticks"):format(textureDict, timeout))
end
return textureDict
end
return lib.requestStreamedTextureDict