From ef935e14d6fd90059e93552efba6b0b007a4450a Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Mon, 25 Nov 2024 18:11:51 +0000 Subject: [PATCH 1/7] feat(es_extended/server): more callback functions --- [core]/es_extended/server/modules/callback.lua | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua index 245b0987..4e17f2c5 100644 --- a/[core]/es_extended/server/modules/callback.lua +++ b/[core]/es_extended/server/modules/callback.lua @@ -80,7 +80,18 @@ end ---@param eventName string ---@param callback function -ESX.RegisterServerCallback = function(eventName, callback) +function ESX.RegisterServerCallback(eventName, callback) Callbacks:Register(eventName, callback) end +---@param eventName string +---@return boolean +function ESX.DoesServerCallbackExist(eventName) + return Callbacks.storage[eventName] ~= nil +end + +---@param eventName string +---@return table | nil +function ESX.GetCallbackInfo(eventName) + return Callbacks.storage[eventName] +end From a4115d516502a64a6da172ae7c4f96579e4477c9 Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Mon, 25 Nov 2024 18:22:57 +0000 Subject: [PATCH 2/7] feat(es_extended/client): extra callback functions --- .../es_extended/client/modules/callback.lua | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index bd47e447..20fa7463 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -6,6 +6,10 @@ Callbacks.requests = {} Callbacks.storage = {} Callbacks.id = 0 +-- ============================================= +-- MARK: Internal Functions +-- ============================================= + function Callbacks:Trigger(event, cb, invoker, ...) self.requests[self.id] = { @@ -65,11 +69,24 @@ function Callbacks:ClientRecieve(eventName, requestId, invoker, ...) self:Execute(callback, requestId, returnCb, ...) end +ESX.SecureNetEvent("esx:triggerClientCallback", function(...) + Callbacks:ClientRecieve(...) +end) + + +ESX.SecureNetEvent("esx:serverCallback", function(...) + Callbacks:ServerRecieve(...) +end) + +-- ============================================= +-- MARK: ESX Functions +-- ============================================= + ---@param eventName string ---@param callback function ---@param ... any ---@return nil -ESX.TriggerServerCallback = function(eventName, callback, ...) +function ESX.TriggerServerCallback(eventName, callback, ...) local invokingResource = GetInvokingResource() local invoker = (invokingResource and invokingResource ~= "unknown") and invokingResource or "es_extended" @@ -79,7 +96,7 @@ end ---@param eventName string ---@param ... any ---@return any -ESX.AwaitServerCallback = function(eventName, ...) +function ESX.AwaitServerCallback(eventName, ...) local invokingResource = GetInvokingResource() local invoker = (invokingResource and invokingResource ~= "unknown") and invokingResource or "es_extended" @@ -98,17 +115,21 @@ ESX.AwaitServerCallback = function(eventName, ...) return table.unpack(p.value) end -ESX.SecureNetEvent("esx:serverCallback", function(...) - Callbacks:ServerRecieve(...) -end) - ---@param eventName string ---@param callback function ---@return nil -ESX.RegisterClientCallback = function(eventName, callback) +function ESX.RegisterClientCallback(eventName, callback) Callbacks:Register(eventName, callback) end -ESX.SecureNetEvent("esx:triggerClientCallback", function(...) - Callbacks:ClientRecieve(...) -end) +---@param eventName string +---@return boolean +function ESX.DoesClientCallbackExist(eventName) + return Callbacks.storage[eventName] ~= nil +end + +---@param eventName string +---@return table | nil +function ESX.GetClientCallbackInfo(eventName) + return Callbacks.storage[eventName] +end From 672237cd3bf75be1401156411293b32cab7f856f Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Mon, 25 Nov 2024 18:28:01 +0000 Subject: [PATCH 3/7] fix(es_extended/server/callback): correct function names --- [core]/es_extended/server/modules/callback.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua index 4e17f2c5..f84ae987 100644 --- a/[core]/es_extended/server/modules/callback.lua +++ b/[core]/es_extended/server/modules/callback.lua @@ -92,6 +92,6 @@ end ---@param eventName string ---@return table | nil -function ESX.GetCallbackInfo(eventName) +function ESX.GetServerCallbackInfo(eventName) return Callbacks.storage[eventName] end From 2e3917f7d26dd467fd034e3165041d75a3ba9966 Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Tue, 3 Dec 2024 22:46:59 +0000 Subject: [PATCH 4/7] tweak(es_extended/callback): remove GetCallbackInfo --- [core]/es_extended/client/modules/callback.lua | 6 ------ [core]/es_extended/server/modules/callback.lua | 6 ------ 2 files changed, 12 deletions(-) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index 0230aa87..ec80d76e 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -135,12 +135,6 @@ function ESX.DoesClientCallbackExist(eventName) return Callbacks.storage[eventName] ~= nil end ----@param eventName string ----@return table | nil -function ESX.GetClientCallbackInfo(eventName) - return Callbacks.storage[eventName] -end - AddEventHandler("onResourceStop", function(resource) for k, v in pairs(Callbacks.storage) do if v.resource == resource then diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua index 59fa7435..f01a9da6 100644 --- a/[core]/es_extended/server/modules/callback.lua +++ b/[core]/es_extended/server/modules/callback.lua @@ -97,12 +97,6 @@ function ESX.DoesServerCallbackExist(eventName) return Callbacks.storage[eventName] ~= nil end ----@param eventName string ----@return table | nil -function ESX.GetServerCallbackInfo(eventName) - return Callbacks.storage[eventName] -end - AddEventHandler("onResourceStop", function(resource) for k, v in pairs(Callbacks.storage) do if v.resource == resource then From a9a4ff69f9c5d828503ab4dfd67d5dbbf0f6af38 Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Tue, 3 Dec 2024 22:49:28 +0000 Subject: [PATCH 5/7] fix(es_extended/client/callback): merge issues --- [core]/es_extended/client/modules/callback.lua | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index ec80d76e..7a364c92 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -72,15 +72,6 @@ function Callbacks:ClientRecieve(eventName, requestId, invoker, ...) self:Execute(callback, requestId, returnCb, ...) end -ESX.SecureNetEvent("esx:triggerClientCallback", function(...) - Callbacks:ClientRecieve(...) -end) - - -ESX.SecureNetEvent("esx:serverCallback", function(...) - Callbacks:ServerRecieve(...) -end) - -- ============================================= -- MARK: ESX Functions -- ============================================= @@ -129,6 +120,10 @@ ESX.SecureNetEvent("esx:triggerClientCallback", function(...) Callbacks:ClientRecieve(...) end) +ESX.SecureNetEvent("esx:serverCallback", function(...) + Callbacks:ServerRecieve(...) +end) + ---@param eventName string ---@return boolean function ESX.DoesClientCallbackExist(eventName) From d23b7ceea3b90960f0e2d71a97b353685a716734 Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Tue, 3 Dec 2024 22:53:37 +0000 Subject: [PATCH 6/7] tweak(es)extended/client/callback): merging style issues --- [core]/es_extended/client/modules/callback.lua | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index 7a364c92..450f2e3e 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -109,13 +109,23 @@ function ESX.AwaitServerCallback(eventName, ...) return table.unpack(p.value) end -ESX.RegisterClientCallback = function(eventName, callback) +function ESX.RegisterClientCallback(eventName, callback) local invokingResource = GetInvokingResource() local invoker = (invokingResource and invokingResource ~= "Unknown") and invokingResource or "es_extended" Callbacks:Register(eventName, invoker, callback) end +---@param eventName string +---@return boolean +function ESX.DoesClientCallbackExist(eventName) + return Callbacks.storage[eventName] ~= nil +end + +-- ============================================= +-- MARK: Events +-- ============================================= + ESX.SecureNetEvent("esx:triggerClientCallback", function(...) Callbacks:ClientRecieve(...) end) @@ -124,12 +134,6 @@ ESX.SecureNetEvent("esx:serverCallback", function(...) Callbacks:ServerRecieve(...) end) ----@param eventName string ----@return boolean -function ESX.DoesClientCallbackExist(eventName) - return Callbacks.storage[eventName] ~= nil -end - AddEventHandler("onResourceStop", function(resource) for k, v in pairs(Callbacks.storage) do if v.resource == resource then From 76a1df36f9a261e735deb12430f7e388e0a50847 Mon Sep 17 00:00:00 2001 From: Kasey FItton Date: Tue, 3 Dec 2024 22:56:39 +0000 Subject: [PATCH 7/7] fix(es_extended/callback): merge styling issues --- .../es_extended/client/modules/callback.lua | 4 +++ .../es_extended/server/modules/callback.lua | 35 +++++++++++++------ 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/[core]/es_extended/client/modules/callback.lua b/[core]/es_extended/client/modules/callback.lua index 450f2e3e..6bd2d758 100644 --- a/[core]/es_extended/client/modules/callback.lua +++ b/[core]/es_extended/client/modules/callback.lua @@ -1,5 +1,9 @@ ---@diagnostic disable: duplicate-set-field +-- ============================================= +-- MARK: Variables +-- ============================================= + Callbacks = {} Callbacks.requests = {} diff --git a/[core]/es_extended/server/modules/callback.lua b/[core]/es_extended/server/modules/callback.lua index f01a9da6..3301e6a6 100644 --- a/[core]/es_extended/server/modules/callback.lua +++ b/[core]/es_extended/server/modules/callback.lua @@ -1,11 +1,19 @@ ---@diagnostic disable: duplicate-set-field +-- ============================================= +-- MARK: Variables +-- ============================================= + Callbacks = {} Callbacks.requests = {} Callbacks.storage = {} Callbacks.id = 0 +-- ============================================= +-- MARK: Internal Functions +-- ============================================= + function Callbacks:Register(name, resource, cb) self.storage[name] = { resource = resource, @@ -60,15 +68,9 @@ function Callbacks:RecieveClient(requestId, invoker, ...) self.requests[requestId] = nil end -RegisterNetEvent("esx:clientCallback", function(requestId, invoker, ...) - Callbacks:RecieveClient(requestId, invoker, ...) -end) - -RegisterNetEvent("esx:triggerServerCallback", function(eventName, requestId, invoker, ...) - local source = source - Callbacks:ServerRecieve(source, eventName, requestId, invoker, ...) -end) - +-- ============================================= +-- MARK: ESX Functions +-- ============================================= ---@param player number playerId ---@param eventName string @@ -84,7 +86,7 @@ end ---@param eventName string ---@param callback function ---@return nil -ESX.RegisterServerCallback = function(eventName, callback) +function ESX.RegisterServerCallback(eventName, callback) local invokingResource = GetInvokingResource() local invoker = (invokingResource and invokingResource ~= "Unknown") and invokingResource or "es_extended" @@ -97,6 +99,19 @@ function ESX.DoesServerCallbackExist(eventName) return Callbacks.storage[eventName] ~= nil end +-- ============================================= +-- MARK: Events +-- ============================================= + +RegisterNetEvent("esx:clientCallback", function(requestId, invoker, ...) + Callbacks:RecieveClient(requestId, invoker, ...) +end) + +RegisterNetEvent("esx:triggerServerCallback", function(eventName, requestId, invoker, ...) + local source = source + Callbacks:ServerRecieve(source, eventName, requestId, invoker, ...) +end) + AddEventHandler("onResourceStop", function(resource) for k, v in pairs(Callbacks.storage) do if v.resource == resource then