from retail

This commit is contained in:
NoM0Re
2025-01-25 16:14:11 +01:00
parent bd6985e67a
commit bd4cba924f
4 changed files with 37 additions and 33 deletions
+37 -21
View File
@@ -52,11 +52,7 @@ local AddonName, Private = ...
-- Lua APIs
local tinsert, tconcat, wipe = table.insert, table.concat, wipe
local tonumber, tostring, pairs, type = tonumber, tostring, pairs, type
local error, setmetatable = error, setmetatable
WeakAurasAceEvents = setmetatable({}, {__tostring=function() return "WeakAuras" end});
LibStub("AceEvent-3.0"):Embed(WeakAurasAceEvents);
local aceEvents = WeakAurasAceEvents
local error = error
local WeakAuras = WeakAuras;
local L = WeakAuras.L;
@@ -2658,7 +2654,7 @@ do
-- We check against 1.5 and gcdDuration, as apparently the durations might not match exactly.
-- But there shouldn't be any trinket with a actual cd of less than 1.5 anyway
if(duration > 0 and duration > 1.5 and duration ~= WeakAuras.gcdDuration()) then
if(duration and duration > 0 and duration > 1.5 and duration ~= WeakAuras.gcdDuration()) then
-- On non-GCD cooldown
local endTime = startTime + duration;
@@ -2916,6 +2912,7 @@ function WeakAuras.WatchUnitChange(unit)
Private.frames["Unit Change Frame"] = watchUnitChange;
watchUnitChange:RegisterEvent("PLAYER_TARGET_CHANGED")
watchUnitChange:RegisterEvent("PLAYER_FOCUS_CHANGED");
watchUnitChange:RegisterEvent("ARENA_OPPONENT_UPDATE")
watchUnitChange:RegisterEvent("PLAYER_ROLES_ASSIGNED");
watchUnitChange:RegisterEvent("UNIT_TARGET");
watchUnitChange:RegisterEvent("INSTANCE_ENCOUNTER_ENGAGE_UNIT");
@@ -3019,46 +3016,59 @@ function WeakAuras.WatchUnitChange(unit)
end
end
watchUnitChange:SetScript("OnEvent", function(self, event, unit)
Private.StartProfileSystem("generictrigger unit change");
local eventsToSend = {}
if event == "PLAYER_ENTERING_WORLD" then
local handleEvent = {
PLAYER_ENTERING_WORLD = function(_, eventsToSend)
for unit in pairs(watchUnitChange.unitIdToGUID) do
handleUnit(unit, eventsToSend, unitUpdate, markerUpdate, reactionUpdate)
end
elseif event == "NAME_PLATE_UNIT_ADDED" then
end,
NAME_PLATE_UNIT_ADDED = function(unit, eventsToSend)
handleUnit(unit, eventsToSend, unitUpdate, markerInit, reactionInit)
elseif event == "NAME_PLATE_UNIT_REMOVED" then
end,
NAME_PLATE_UNIT_REMOVED = function(unit, eventsToSend)
handleUnit(unit, eventsToSend, unitUpdate, markerClear, reactionClear)
elseif event == "INSTANCE_ENCOUNTER_ENGAGE_UNIT" then
end,
INSTANCE_ENCOUNTER_ENGAGE_UNIT = function(_, eventsToSend)
for i = 1, 5 do
handleUnit("boss" .. i, eventsToSend, unitUpdate, markerInit, reactionInit)
handleUnit("boss" .. i .. "target", eventsToSend, unitUpdate, markerInit, reactionInit)
end
elseif event == "PLAYER_TARGET_CHANGED" then
end,
ARENA_OPPONENT_UPDATE = function(unit, eventsToSend)
handleUnit(unit, eventsToSend, unitUpdate, markerInit, reactionInit)
handleUnit(unit .. "target", eventsToSend, unitUpdate, markerInit, reactionInit)
end,
PLAYER_TARGET_CHANGED = function(_, eventsToSend)
handleUnit("target", eventsToSend, unitUpdate, markerInit, reactionInit)
handleUnit("targettarget", eventsToSend, unitUpdate, markerInit, reactionInit)
elseif event == "PLAYER_FOCUS_CHANGED" then
end,
PLAYER_FOCUS_CHANGED = function(_, eventsToSend)
handleUnit("focus", eventsToSend, unitUpdate, markerInit, reactionInit)
handleUnit("focustarget", eventsToSend, unitUpdate, markerInit, reactionInit)
elseif event == "RAID_TARGET_UPDATE" then
end,
RAID_TARGET_UPDATE = function(_, eventsToSend)
for unit in pairs(watchUnitChange.raidmark) do
handleUnit(unit, eventsToSend, markerUpdate)
end
elseif event == "UNIT_FACTION" then
end,
UNIT_FACTION = function(unit, eventsToSend)
handleUnit(unit, eventsToSend, reactionUpdate)
elseif event == "UNIT_PET" then
end,
UNIT_PET = function(unit, eventsToSend)
local pet = WeakAuras.unitToPetUnit[unit]
if pet and watchUnitChange.trackedUnits[pet] then
eventsToSend["UNIT_CHANGED_" .. pet] = pet
end
elseif event == "PLAYER_ROLES_ASSIGNED" then
end,
PLAYER_ROLES_ASSIGNED = function(_, eventsToSend)
for unit in pairs(Private.multiUnitUnits.group) do
handleUnit(unit, eventsToSend, roleUpdate)
end
elseif event == "UNIT_TARGET" then
end,
UNIT_TARGET = function(unit, eventsToSend)
handleUnit(unit .. "target", eventsToSend, unitUpdate, markerInit, reactionInit)
elseif event == "PARTY_MEMBERS_CHANGED" or event == "RAID_ROSTER_UPDATE" then
end,
GROUP_ROSTER_UPDATE = function(_, eventsToSend)
for unit in pairs(Private.multiUnitUnits.group) do
handleUnit(unit, eventsToSend, unitUpdate, markerInit, reactionInit)
end
@@ -3073,7 +3083,13 @@ function WeakAuras.WatchUnitChange(unit)
watchUnitChange.inRaid = inRaid
end
end
}
handleEvent["RAID_ROSTER_UPDATE"] = handleEvent["GROUP_ROSTER_UPDATE"]
watchUnitChange:SetScript("OnEvent", function(self, event, unit)
Private.StartProfileSystem("generictrigger unit change");
local eventsToSend = {}
handleEvent[event](unit, eventsToSend)
-- send events
for event, unit in pairs(eventsToSend) do
WeakAuras.ScanEvents(event, unit)
-1
View File
@@ -44,7 +44,6 @@ do
"AceConfig-3.0",
"AceConsole-3.0",
"AceGUI-3.0",
"AceEvent-3.0",
"AceGUISharedMediaWidgets-1.0",
"AceTimer-3.0",
"AceSerializer-3.0",
-1
View File
@@ -8,7 +8,6 @@
<Include file="Libs\AceTimer-3.0\AceTimer-3.0.xml"/>
<Include file="Libs\AceSerializer-3.0\AceSerializer-3.0.xml"/>
<Include file="Libs\AceComm-3.0\AceComm-3.0.xml"/>
<Include file="Libs\AceEvent-3.0\AceEvent-3.0.xml"/>
<Include file="Libs\LibSharedMedia-3.0\lib.xml"/>
<Include file="Libs\AceGUI-3.0-SharedMediaWidgets\widget.xml"/>
<Script file="Libs\LibCompress\LibCompress.lua"/>
@@ -28,7 +28,6 @@ local function Button_OnClick(frame, ...)
PlaySound(852) -- SOUNDKIT.IG_MAINMENU_OPTION
frame.title:Hide()
frame.renameEditBox:Show()
frame.renameEditBox:Enable()
frame.renameEditBox:SetText(frame.title:GetText())
frame.renameEditBox:HighlightText()
frame.renameEditBox:SetFocus()
@@ -60,9 +59,6 @@ local function Control_OnLeave(frame)
end
local function rename_complete(self, ...)
self:ClearFocus()
AceGUI:ClearFocus()
self:EnableMouse(false)
self:Hide()
self:GetParent().obj:Fire("OnEnterPressed", ...)
end
@@ -115,7 +111,6 @@ local methods = {
AceGUI:ClearFocus()
self.title:Hide()
self.renameEditBox:Show()
self.renameEditBox:EnableMouse(true)
self.renameEditBox:SetText(self.title:GetText())
self.renameEditBox:HighlightText()
self.renameEditBox:SetFocus()
@@ -195,14 +190,12 @@ local function Constructor()
renameEditBox:SetHeight(14)
renameEditBox:SetPoint("TOPLEFT", title, "TOPLEFT")
renameEditBox:SetPoint("BOTTOMRIGHT", title, "BOTTOMRIGHT")
renameEditBox:EnableMouse(false)
renameEditBox:Hide()
renameEditBox:SetScript(
"OnEscapePressed",
function(self)
self:ClearFocus()
AceGUI:ClearFocus()
self:EnableMouse(false)
self:Hide()
title:Show()
end
@@ -210,9 +203,6 @@ local function Constructor()
renameEditBox:SetScript(
"OnEditFocusLost",
function(self)
self:ClearFocus()
AceGUI:ClearFocus()
self:EnableMouse(false)
self:Hide()
title:Show()
end