Files
community_bridge/modules/progressbar/ox_lib/client.lua
T
MrNewb c71a261115 chore(intellisense): improve parameter annotations and add missing comments
Touched up incorrect or missing Intellisense parameter annotations across several functions. Added some missing descriptions to improve editor support. Still more to do, but this is a small step forward for overall developer workflow. Also small fix in picklexp
2025-06-07 22:50:13 -04:00

67 lines
2.1 KiB
Lua

---@diagnostic disable: duplicate-set-field
local resourceName = "ox_lib"
local configValue = BridgeClientConfig.ProgressBarSystem
if (configValue == "auto" and GetResourceState(resourceName) ~= "started") or (configValue ~= "auto" and configValue ~= resourceName) then return end
ProgressBar = ProgressBar or {}
---This function converts a QB progress bar options table to an Ox progress bar options table.
---@param options table
---@return table
local function convertFromQB(options)
if not options then return options end
local prop1 = options.prop or {}
local prop2 = options.propTwo or {}
local props = {
{
model = prop1.model,
bone = prop1.bone,
pos = prop1.coords,
rot = prop1.rotation,
},
{
model = prop2.model,
bone = prop2.bone,
pos = prop2.coords,
rot = prop2.rotation,
}
}
return {
duration = options.duration,
label = options.label,
position = 'bottom',
useWhileDead = options.useWhileDead,
canCancel = options.canCancel,
disable = {
move = options.controlDisables?.disableMovement,
car = options.controlDisables?.disableCarMovement,
combat = options.controlDisables?.disableCombat,
mouse = options.controlDisables?.disableMouse
},
anim = {
dict = options.animation?.animDict,
clip = options.animation?.anim,
flag = options.animation?.flags or 49,
},
prop = props,
}
end
---This function opens a progress bar.
---@param options table
---@param cb any
---@param isQBInput boolean||optional
---@return boolean
function ProgressBar.Open(options, cb, isQBInput)
if isQBInput then
options = convertFromQB(options)
end
local style = options.style or 'bar'
local success = style == 'circle' and exports.ox_lib:progressCircle(options) or exports.ox_lib:progressBar(options)
if cb then cb(not success) end
return success
end
return ProgressBar