fixed nil pointer issue

This commit is contained in:
2024-10-23 15:55:27 +02:00
parent e185c95f84
commit d9d28d9deb
+13 -10
View File
@@ -5,11 +5,20 @@ do
local OnStageNumberChangedListeners = {} local OnStageNumberChangedListeners = {}
local OnStageNumberChangedHandlers = {} local OnStageNumberChangedHandlers = {}
local warn = function(text)
env.warn("[Spearhead][Events] " .. (text or "nil"))
end
local error = function(text)
env.error("[Spearhead][Events] " .. (text or "nil"))
end
---Add a stage zone number changed listener ---Add a stage zone number changed listener
---@param listener table object with function OnStageNumberChanged(self, number) ---@param listener table object with function OnStageNumberChanged(self, number)
SpearheadEvents.AddStageNumberChangedListener = function(listener) SpearheadEvents.AddStageNumberChangedListener = function(listener)
if type(listener) ~= "table" then if type(listener) ~= "table" then
SpearheadLogger:warn("Event listener not of type table, did you mean to use handler?") warn("Event listener not of type table, did you mean to use handler?")
return return
end end
table.insert(OnStageNumberChangedListeners, listener) table.insert(OnStageNumberChangedListeners, listener)
@@ -19,7 +28,7 @@ do
---@param handler function function(number) ---@param handler function function(number)
SpearheadEvents.AddStageNumberChangedHandler = function(handler) SpearheadEvents.AddStageNumberChangedHandler = function(handler)
if type(handler) ~= "function" then if type(handler) ~= "function" then
SpearheadLogger:warn("Event handler not of type function, did you mean to use listener?") warn("Event handler not of type function, did you mean to use listener?")
return return
end end
table.insert(OnStageNumberChangedHandlers, handler) table.insert(OnStageNumberChangedHandlers, handler)
@@ -32,26 +41,20 @@ do
callable:OnStageNumberChanged(newStageNumber) callable:OnStageNumberChanged(newStageNumber)
end) end)
if err then if err then
SpearheadLogger:error(err) error(err)
end end
end end
for _, callable in pairs(OnStageNumberChangedHandlers) do for _, callable in pairs(OnStageNumberChangedHandlers) do
local succ, err = pcall(callable, newStageNumber) local succ, err = pcall(callable, newStageNumber)
if err then if err then
SpearheadLogger:error(err) error(err)
end end
end end
end end
end end
local warn = function(text)
env.warn("[Spearhead][Events] " .. (text or "nil"))
end
local error = function(text)
env.error("[Spearhead][Events] " .. (text or "nil"))
end
local onLandEventListeners = {} local onLandEventListeners = {}
---Add an event listener to a specific unit ---Add an event listener to a specific unit