58 lines
1.4 KiB
Lua
58 lines
1.4 KiB
Lua
ESX = exports['es_extended']:getSharedObject()
|
|
|
|
local isNuiOpen = false
|
|
|
|
-- =====================
|
|
-- NUI MANAGEMENT
|
|
-- =====================
|
|
|
|
function OpenCaseUI(caseData)
|
|
if isNuiOpen then return end
|
|
isNuiOpen = true
|
|
SetNuiFocus(true, true)
|
|
|
|
SendNUIMessage({
|
|
type = 'open',
|
|
caseId = caseData.caseId,
|
|
caseLabel = caseData.caseLabel,
|
|
caseEmoji = caseData.caseEmoji,
|
|
caseDescription = caseData.caseDescription,
|
|
caseImage = caseData.caseImage,
|
|
items = caseData.items,
|
|
wonItem = caseData.wonItem,
|
|
})
|
|
end
|
|
|
|
function CloseCaseUI()
|
|
if not isNuiOpen then return end
|
|
isNuiOpen = false
|
|
SetNuiFocus(false, false)
|
|
SendNUIMessage({ type = 'close' })
|
|
end
|
|
|
|
-- =====================
|
|
-- NUI CALLBACKS
|
|
-- =====================
|
|
|
|
RegisterNUICallback('close', function(_, cb)
|
|
-- Reward claimen bevor UI geschlossen wird
|
|
TriggerServerEvent('mercyv-cases:claimReward')
|
|
CloseCaseUI()
|
|
cb('ok')
|
|
end)
|
|
|
|
|
|
-- =====================
|
|
-- SERVER EVENT HANDLERS
|
|
-- =====================
|
|
|
|
RegisterNetEvent('mercyv-cases:openUI')
|
|
AddEventHandler('mercyv-cases:openUI', function(caseData)
|
|
OpenCaseUI(caseData)
|
|
end)
|
|
|
|
RegisterNetEvent('mercyv-cases:notify')
|
|
AddEventHandler('mercyv-cases:notify', function(message, notifType)
|
|
TriggerEvent('hex_4_hud:notify', 'Cases', message, notifType or 'info', 3000)
|
|
end)
|