diff --git a/Modules/Network.lua b/Modules/Network.lua index f7d3aee..9ec5e21 100644 --- a/Modules/Network.lua +++ b/Modules/Network.lua @@ -7,10 +7,11 @@ local ModuleName = "Network" shared.Network = {} function shared.Network.Init() if not shared.network then shared.network = {} end + local updatePending = false - local friendsFrame = CreateFrame("Frame") - friendsFrame:RegisterEvent("FRIENDLIST_UPDATE") - friendsFrame:SetScript("OnEvent", function(self, event, ...) + local function FriendListUpdate() + updatePending = false + if not Heimdall_Data.config.network.enabled then return end ---@type table local friends = {} for i = 1, GetNumFriends() do @@ -51,6 +52,11 @@ function shared.Network.Init() print(string.format("[%s] Network nodes:", ModuleName)) shared.dumpTable(shared.networkNodes) end + end + + local friendsFrame = CreateFrame("Frame") + friendsFrame:RegisterEvent("FRIENDLIST_UPDATE") + friendsFrame:SetScript("OnEvent", function(self, event, ...) end) local function NetworkTick() @@ -59,6 +65,10 @@ function shared.Network.Init() print("Network module is updating.") end ShowFriends() + updatePending = true + C_Timer.After(1, function() + if updatePending then FriendListUpdate() end + end) shared.network.ticker = C_Timer.NewTimer(Heimdall_Data.config.network.updateInterval, NetworkTick, 1) end