Skip to content
This repository was archived by the owner on May 13, 2026. It is now read-only.

Commit e437af0

Browse files
committed
Multibot Options Frame Ace3 Migrated
1 parent e28e9d6 commit e437af0

5 files changed

Lines changed: 348 additions & 132 deletions

File tree

Core/MultiBotDebug.lua

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
-- MultiBotDebug.lua
2+
-- Temporary migration debug helpers.
3+
-- Keep this file during ACE3 migration; remove once migration diagnostics are no longer needed.
4+
5+
MultiBot.Debug = MultiBot.Debug or {}
6+
7+
local function EmitDebugMessage(message, colorHex)
8+
local text = message
9+
if colorHex and colorHex ~= "" then
10+
text = "|cff" .. colorHex .. message .. "|r"
11+
end
12+
13+
if DEFAULT_CHAT_FRAME and DEFAULT_CHAT_FRAME.AddMessage then
14+
DEFAULT_CHAT_FRAME:AddMessage(text)
15+
elseif type(print) == "function" then
16+
print(message)
17+
end
18+
end
19+
20+
function MultiBot.Debug.Print(message, colorHex)
21+
EmitDebugMessage(tostring(message), colorHex)
22+
end
23+
24+
function MultiBot.Debug.Once(key, message, colorHex)
25+
if type(key) ~= "string" or key == "" then
26+
MultiBot.Debug.Print(message, colorHex)
27+
return
28+
end
29+
30+
MultiBot._debugOnceFlags = MultiBot._debugOnceFlags or {}
31+
if MultiBot._debugOnceFlags[key] then
32+
return
33+
end
34+
35+
MultiBot._debugOnceFlags[key] = true
36+
MultiBot.Debug.Print(message, colorHex)
37+
end
38+
39+
function MultiBot.Debug.OptionsPath(path, detail)
40+
local message = string.format("MultiBot Options: using %s path", tostring(path))
41+
if detail and detail ~= "" then
42+
message = message .. string.format(" (%s)", detail)
43+
end
44+
MultiBot.Debug.Once("options.path", message, "33ff99")
45+
end
46+
47+
function MultiBot.Debug.AceGUILoadState(reason)
48+
local hasLibStub = type(LibStub) == "table"
49+
local aceMinor = nil
50+
local aceLoaded = false
51+
52+
if hasLibStub and type(LibStub.minors) == "table" then
53+
aceMinor = LibStub.minors["AceGUI-3.0"]
54+
aceLoaded = LibStub.libs and LibStub.libs["AceGUI-3.0"] ~= nil
55+
end
56+
57+
local message = string.format(
58+
"MultiBot Options: AceGUI debug => reason=%s, LibStub=%s, minor=%s, loaded=%s",
59+
tostring(reason),
60+
tostring(hasLibStub),
61+
tostring(aceMinor),
62+
tostring(aceLoaded)
63+
)
64+
65+
MultiBot.Debug.Once("options.acegui.load", message, "ffff00")
66+
end

MultiBot.toc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ Libs\AceConsole-3.0\AceConsole-3.0.lua
1818
Libs\AceDB-3.0\AceDB-3.0.lua
1919
Libs\AceLocale-3.0\AceLocale-3.0.lua
2020
Libs\AceTimer-3.0\AceTimer-3.0.lua
21-
Libs\AceGUI-3.0\AceGUI-3.0.lua
21+
Libs\AceGUI-3.0\AceGUI-3.0.xml
2222
Libs\LibDBIcon-1.0\LibDBIcon-1.0.lua
2323
Libs\libdatabroker-1-1\LibDataBroker-1.1.lua
2424
Libs\LibDropdown-1.0\LibDropdown-1.0.lua
@@ -27,6 +27,7 @@ Libs\LibDropdown-1.0\LibDropdown-1.0.lua
2727
Core\MultiBot.lua
2828
Core\MultiBotConfig.lua
2929
Core\MultiBotLocale.lua
30+
Core\MultiBotDebug.lua
3031
UI\MultiBotOptions.lua
3132
Core\MultiBotThrottle.lua
3233

ROADMAP.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
- AceDB bootstrap/runtime migration is now complete for supported SavedVariables paths; one-way versioned legacy cutovers are in place with guarded legacy creation and post-migration cleanup to avoid stale duplicate persistence.
2121
- **Milestone 7 (Minimap/options integration):** Completed.
2222
- Minimap hide/angle, global frame strata, options timers/throttle, Spec dropdown positions, Hunter/Shaman quick-bar positions, Hunter pet stance state and Shaman totem choice state now run through AceDB-backed helpers with one-way versioned legacy cutover and guarded legacy fallback (no legacy table creation on pure read paths).
23-
- **Milestone 8 (AceGUI UI refactor):** Planned (next).
24-
- Replace legacy frame construction screen-by-screen with AceGUI containers/widgets while preserving behavior and slash/open flows.
23+
- **Milestone 8 (AceGUI UI refactor):** In progress.
24+
- `UI/MultiBotOptions.lua` panel content has been migrated to AceGUI widgets while preserving category registration and slash/open flows; remaining screens continue screen-by-screen.
2525
- **Milestone 9 (Localization and text pipeline):** Completed.
2626
- Core locale loader + per-locale payload files are integrated (`Core/MultiBotLocale.lua`, `Locales/MultiBotAceLocale-*.lua`).
2727
- `Core/MultiBotInit.lua`, `Features/MultiBotRaidus.lua`, `Core/MultiBotEvery.lua`, `Core/MultiBotEngine.lua`, `Core/MultiBotHandler.lua`, `Strategies/MultiBotDruid.lua`, `Strategies/MultiBotPaladin.lua`, `Strategies/MultiBotMage.lua`, `Strategies/MultiBotWarlock.lua`, `Strategies/MultiBotPriest.lua`, `Strategies/MultiBotShaman.lua`, `Strategies/MultiBotHunter.lua`, `Strategies/MultiBotRogue.lua`, `Strategies/MultiBotDeathKnight.lua`, and `Strategies/MultiBotWarrior.lua` migration sweeps are completed for legacy `MultiBot.tips.*` runtime reads.

0 commit comments

Comments
 (0)