Refactor addonprefix out of network
This commit is contained in:
66
Modules/NetworkMessenger.lua
Normal file
66
Modules/NetworkMessenger.lua
Normal file
@@ -0,0 +1,66 @@
|
||||
local addonname, shared = ...
|
||||
---@cast shared HeimdallShared
|
||||
---@cast addonname string
|
||||
local ModuleName = "NetworkMessenger"
|
||||
|
||||
---@diagnostic disable-next-line: missing-fields
|
||||
shared.NetworkMessenger = {}
|
||||
function shared.NetworkMessenger.Init()
|
||||
local updateTime = 0
|
||||
|
||||
local friendsFrame = CreateFrame("Frame")
|
||||
friendsFrame:RegisterEvent("FRIENDLIST_UPDATE")
|
||||
friendsFrame:SetScript("OnEvent", function(self, event, ...)
|
||||
---@type table<string, boolean>
|
||||
local friends = {}
|
||||
for i = 1, GetNumFriends() do
|
||||
local name, level, class, area, connected, status, note, RAF = GetFriendInfo(i)
|
||||
friends[name] = connected
|
||||
if Heimdall_Data.config.network.debug then
|
||||
print(string.format("[%s] Friend %s is %s", ModuleName, name, connected and "online" or "offline"))
|
||||
end
|
||||
end
|
||||
|
||||
for _, member in ipairs(Heimdall_Data.config.network.members) do
|
||||
if friends[member] == nil then
|
||||
if Heimdall_Data.config.network.debug then
|
||||
print(string.format("[%s] Adding friend %s", ModuleName, member))
|
||||
end
|
||||
AddFriend(member)
|
||||
end
|
||||
end
|
||||
|
||||
shared.networkNodes = {}
|
||||
for _, player in ipairs(Heimdall_Data.config.network.members) do
|
||||
if friends[player] then
|
||||
shared.networkNodes[player] = true
|
||||
if Heimdall_Data.config.network.debug then
|
||||
print(string.format("[%s] Adding network node %s", ModuleName, player))
|
||||
end
|
||||
end
|
||||
end
|
||||
if Heimdall_Data.config.network.debug then
|
||||
print(string.format("[%s] Network nodes:", ModuleName))
|
||||
shared.dumpTable(shared.networkNodes)
|
||||
end
|
||||
end)
|
||||
|
||||
local function Update()
|
||||
if not Heimdall_Data.config.network.enabled then return end
|
||||
if Heimdall_Data.config.network.debug then
|
||||
print("Network module is updating.")
|
||||
end
|
||||
ShowFriends()
|
||||
end
|
||||
|
||||
local networkFrame = CreateFrame("Frame")
|
||||
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)
|
||||
print("[Heimdall] NetworkMessenger module loaded")
|
||||
end
|
||||
Reference in New Issue
Block a user