forked from Simnation/Main
56 lines
1.4 KiB
Lua
56 lines
1.4 KiB
Lua
![]() |
local callback = nil
|
||
|
local isActive = false
|
||
|
local debug = false
|
||
|
|
||
|
-- When the NUI is closed, call the callback function and returns result
|
||
|
RegisterNUICallback('minigame:callback', function(res, cb)
|
||
|
SetNuiFocus(false, false)
|
||
|
|
||
|
if callback then
|
||
|
callback(res)
|
||
|
end
|
||
|
|
||
|
DebugPrint("Minigame closed. Result: " .. tostring(res))
|
||
|
|
||
|
isActive = false
|
||
|
|
||
|
cb('ok')
|
||
|
end)
|
||
|
|
||
|
-- Sends a NUI message to the UI
|
||
|
---@param action string -- Action to be sent to the NUI
|
||
|
---@param cb fun()|nil -- Callback function to be called when the NUI is closed, or nil if no callback is needed
|
||
|
---@param data table -- Data to be sent to the NUI
|
||
|
---@param nuiFocus boolean -- Whether to set NUI focus or not
|
||
|
function SendNUI(action, cb, data, nuiFocus)
|
||
|
if not isActive then
|
||
|
isActive = true
|
||
|
SetNuiFocus(nuiFocus, nuiFocus)
|
||
|
SendNUIMessage({
|
||
|
action = action,
|
||
|
data = data
|
||
|
})
|
||
|
if not cb then
|
||
|
isActive = false
|
||
|
end
|
||
|
end
|
||
|
|
||
|
if cb then
|
||
|
callback = cb
|
||
|
end
|
||
|
end
|
||
|
|
||
|
|
||
|
-- Debug function to print to the console
|
||
|
function DebugPrint(...)
|
||
|
if not debug then return end
|
||
|
local args <const> = { ... }
|
||
|
|
||
|
local appendStr = ''
|
||
|
for _, v in ipairs(args) do
|
||
|
appendStr = appendStr .. ' ' .. tostring(v)
|
||
|
end
|
||
|
local msgTemplate = '^3[%s]^0%s'
|
||
|
local finalMsg = msgTemplate:format("ps-ui", appendStr)
|
||
|
print(finalMsg)
|
||
|
end
|