Rework network to use timer instead of onupdate

This commit is contained in:
2025-01-15 14:01:54 +01:00
parent 28ef8cb33a
commit 6551e24069
2 changed files with 7 additions and 11 deletions

View File

@@ -20,6 +20,7 @@ local function init()
---@field who HeimdallWhoData ---@field who HeimdallWhoData
---@field stinkyTracker HeimdallStinkyTrackerData ---@field stinkyTracker HeimdallStinkyTrackerData
---@field networkNodes string[] ---@field networkNodes string[]
---@field network HeimdallNetworkData
---@field _L Localization ---@field _L Localization
---@field VERSION string ---@field VERSION string
---@field dumpTable fun(table: any, depth?: number): nil ---@field dumpTable fun(table: any, depth?: number): nil
@@ -242,6 +243,9 @@ local function init()
---@class HeimdallStinkyTrackerData ---@class HeimdallStinkyTrackerData
---@field stinkies ReactiveValue ---@field stinkies ReactiveValue
---@class HeimdallNetworkData
---@field ticker number?
shared.GetOrDefault = function(table, keys, default) shared.GetOrDefault = function(table, keys, default)
local value = default local value = default
if not table then return value end if not table then return value end

View File

@@ -46,23 +46,15 @@ function shared.Network.Init()
end end
end) end)
local function Update() local function NetworkTick()
if not Heimdall_Data.config.network.enabled then return end if not Heimdall_Data.config.network.enabled then return end
if Heimdall_Data.config.network.debug then if Heimdall_Data.config.network.debug then
print("Network module is updating.") print("Network module is updating.")
end end
ShowFriends() ShowFriends()
shared.network.ticker = C_Timer.NewTimer(Heimdall_Data.config.network.updateInterval, NetworkTick, 1)
end end
local networkFrame = CreateFrame("Frame") NetworkTick()
networkFrame:SetScript("OnUpdate", function(self, elapsed)
if not Heimdall_Data.config.network.enabled then return end
updateTime = updateTime + elapsed
if updateTime >= Heimdall_Data.config.network.updateInterval then
Update()
updateTime = 0
end
end)
Update()
print("[Heimdall] Network module loaded") print("[Heimdall] Network module loaded")
end end