Details | Compare with Previous | View Log
Line No. | Rev | Author | Line |
---|---|---|---|
1 | 14 | Taonnor-14572 | --[[ |
2 | Taonnor-14572 | Addon: Taos Group Ultimate |
|
3 | Taonnor-14572 | Author: TProg Taonnor |
|
4 | Taonnor-14572 | Created by @Taonnor |
|
5 | Taonnor-14572 | ]]-- |
|
6 | Taonnor-14572 | ||
7 | Taonnor-14572 | --[[ |
|
8 | 37 | Taonnor-14572 | Local variables |
9 | 14 | Taonnor-14572 | ]]-- |
10 | Taonnor-14572 | local LOG_ACTIVE = false |
|
11 | 46 | Taonnor-14572 | |
12 | 37 | Taonnor-14572 | local _logger = nil |
13 | 46 | Taonnor-14572 | local _control = nil |
14 | 14 | Taonnor-14572 | |
15 | Taonnor-14572 | --[[ |
|
16 | 37 | Taonnor-14572 | Table GroupUltimateSelector |
17 | 14 | Taonnor-14572 | ]]-- |
18 | 37 | Taonnor-14572 | TGU_GroupUltimateSelector = {} |
19 | Taonnor-14572 | TGU_GroupUltimateSelector.__index = TGU_GroupUltimateSelector |
|
20 | 14 | Taonnor-14572 | |
21 | Taonnor-14572 | --[[ |
|
22 | 37 | Taonnor-14572 | Table Members |
23 | 14 | Taonnor-14572 | ]]-- |
24 | Taonnor-14572 | ||
25 | Taonnor-14572 | --[[ |
|
26 | Taonnor-14572 | SetUltimateIcon sets the button icon in base of staticUltimateID |
|
27 | Taonnor-14572 | ]]-- |
|
28 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.SetUltimateIcon(staticUltimateID) |
29 | 14 | Taonnor-14572 | if (LOG_ACTIVE) then |
30 | 37 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.SetUltimateIcon") |
31 | Taonnor-14572 | _logger:logDebug("staticUltimateID", staticUltimateID) |
|
32 | 14 | Taonnor-14572 | end |
33 | Taonnor-14572 | ||
34 | Taonnor-14572 | local icon = "/esoui/art/icons/icon_missing.dds" |
|
35 | Taonnor-14572 | ||
36 | Taonnor-14572 | if (staticUltimateID ~= 0) then |
|
37 | Taonnor-14572 | icon = GetAbilityIcon(staticUltimateID) |
|
38 | Taonnor-14572 | end |
|
39 | Taonnor-14572 | ||
40 | 46 | Taonnor-14572 | local iconControl = _control:GetNamedChild("SelectorButtonControl"):GetNamedChild("Icon") |
41 | 14 | Taonnor-14572 | |
42 | Taonnor-14572 | if (icon ~= nil and iconControl ~= nil) then |
|
43 | Taonnor-14572 | iconControl:SetTexture(icon) |
|
44 | Taonnor-14572 | else |
|
45 | 37 | Taonnor-14572 | _logger:logError("TGU_GroupUltimateSelector.SetUltimateIcon, icon is " .. tostring(icon) .. "; iconControl is " .. tostring(iconControl)) |
46 | 14 | Taonnor-14572 | end |
47 | Taonnor-14572 | end |
|
48 | Taonnor-14572 | ||
49 | Taonnor-14572 | --[[ |
|
50 | Taonnor-14572 | SetControlMovable sets the Movable and MouseEnabled flag in UI elements |
|
51 | Taonnor-14572 | ]]-- |
|
52 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.SetControlMovable(isMovable) |
53 | 14 | Taonnor-14572 | if (LOG_ACTIVE) then |
54 | 37 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.SetControlMovable") |
55 | Taonnor-14572 | _logger:logDebug("isMovable", isMovable) |
|
56 | 14 | Taonnor-14572 | end |
57 | Taonnor-14572 | ||
58 | 46 | Taonnor-14572 | _control:GetNamedChild("MovableControl"):SetHidden(isMovable == false) |
59 | 14 | Taonnor-14572 | |
60 | 46 | Taonnor-14572 | _control:SetMovable(isMovable) |
61 | Taonnor-14572 | _control:SetMouseEnabled(isMovable) |
|
62 | 14 | Taonnor-14572 | end |
63 | Taonnor-14572 | ||
64 | Taonnor-14572 | --[[ |
|
65 | 37 | Taonnor-14572 | RestorePosition sets TGU_GroupUltimateSelector on settings position |
66 | 14 | Taonnor-14572 | ]]-- |
67 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.RestorePosition(posX, posY) |
68 | 14 | Taonnor-14572 | if (LOG_ACTIVE) then |
69 | 37 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.RestorePosition") |
70 | Taonnor-14572 | _logger:logDebug("posX, posY", posX, posY) |
|
71 | 14 | Taonnor-14572 | end |
72 | Taonnor-14572 | ||
73 | 46 | Taonnor-14572 | _control:ClearAnchors() |
74 | Taonnor-14572 | _control:SetAnchor(TOPLEFT, GuiRoot, TOPLEFT, posX, posY) |
|
75 | 14 | Taonnor-14572 | end |
76 | Taonnor-14572 | ||
77 | Taonnor-14572 | --[[ |
|
78 | 37 | Taonnor-14572 | OnTGU_GroupUltimateSelectorMoveStop saves current TGU_GroupUltimateSelector position to settings |
79 | 14 | Taonnor-14572 | ]]-- |
80 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.OnGroupUltimateSelectorMoveStop() |
81 | Taonnor-14572 | if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupUltimateSelector.OnGroupUltimateSelectorMoveStop") end |
|
82 | 14 | Taonnor-14572 | |
83 | 46 | Taonnor-14572 | local left = _control:GetLeft() |
84 | Taonnor-14572 | local top = _control:GetTop() |
|
85 | 14 | Taonnor-14572 | |
86 | 37 | Taonnor-14572 | TGU_SettingsHandler.SavedVariables.SelectorPosX = left |
87 | Taonnor-14572 | TGU_SettingsHandler.SavedVariables.SelectorPosY = top |
|
88 | 14 | Taonnor-14572 | |
89 | Taonnor-14572 | if (LOG_ACTIVE) then |
|
90 | 37 | Taonnor-14572 | _logger:logDebug("PosX, PosY", TGU_SettingsHandler.SavedVariables.SelectorPosX, TGU_SettingsHandler.SavedVariables.SelectorPosY) |
91 | 14 | Taonnor-14572 | end |
92 | Taonnor-14572 | end |
|
93 | Taonnor-14572 | ||
94 | 19 | Taonnor-14572 | --[[ |
95 | Taonnor-14572 | OnGroupUltimateSelectorClicked shows ultimate group menu |
|
96 | Taonnor-14572 | ]]-- |
|
97 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.OnGroupUltimateSelectorClicked() |
98 | Taonnor-14572 | if (LOG_ACTIVE) then _logger:logTrace("TGU_GroupUltimateSelector.OnGroupUltimateSelectorClicked") end |
|
99 | 14 | Taonnor-14572 | |
100 | 46 | Taonnor-14572 | local button = _control:GetNamedChild("SelectorButtonControl"):GetNamedChild("Button") |
101 | 19 | Taonnor-14572 | |
102 | Taonnor-14572 | if (button ~= nil) then |
|
103 | 38 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TGU_SET_ULTIMATE_GROUP, TGU_GroupUltimateSelector.OnSetUltimateGroup) |
104 | Taonnor-14572 | CALLBACK_MANAGER:FireCallbacks(TGU_SHOW_ULTIMATE_GROUP_MENU, button) |
|
105 | 19 | Taonnor-14572 | else |
106 | 37 | Taonnor-14572 | _logger:logError("TGU_GroupUltimateSelector.OnGroupUltimateSelectorClicked, button nil") |
107 | 19 | Taonnor-14572 | end |
108 | 14 | Taonnor-14572 | end |
109 | Taonnor-14572 | ||
110 | Taonnor-14572 | --[[ |
|
111 | 19 | Taonnor-14572 | OnSetUltimateGroup sets ultimate group for button |
112 | Taonnor-14572 | ]]-- |
|
113 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.OnSetUltimateGroup(group) |
114 | 19 | Taonnor-14572 | if (LOG_ACTIVE) then |
115 | 37 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.OnSetUltimateGroup") |
116 | Taonnor-14572 | _logger:logDebug("group.GroupName", group.GroupName) |
|
117 | 19 | Taonnor-14572 | end |
118 | Taonnor-14572 | ||
119 | 38 | Taonnor-14572 | CALLBACK_MANAGER:UnregisterCallback(TGU_SET_ULTIMATE_GROUP, TGU_GroupUltimateSelector.OnSetUltimateGroup) |
120 | 19 | Taonnor-14572 | |
121 | Taonnor-14572 | if (group ~= nil) then |
|
122 | 37 | Taonnor-14572 | TGU_SettingsHandler.SetStaticUltimateIDSettings(group.GroupAbilityId) |
123 | 19 | Taonnor-14572 | else |
124 | 37 | Taonnor-14572 | _logger:logError("TGU_UltimateGroupMenu.ShowUltimateGroupMenu, group nil") |
125 | 19 | Taonnor-14572 | end |
126 | Taonnor-14572 | end |
|
127 | Taonnor-14572 | ||
128 | Taonnor-14572 | --[[ |
|
129 | 14 | Taonnor-14572 | SetControlHidden sets hidden on control |
130 | Taonnor-14572 | ]]-- |
|
131 | 50 | Taonnor-14572 | function TGU_GroupUltimateSelector.SetControlHidden(isHidden) |
132 | 14 | Taonnor-14572 | if (LOG_ACTIVE) then |
133 | 37 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.SetControlHidden") |
134 | 50 | Taonnor-14572 | _logger:logDebug("isHidden", isHidden) |
135 | 14 | Taonnor-14572 | end |
136 | Taonnor-14572 | ||
137 | 58 | Taonnor-14572 | if (TGU_GroupHandler.IsGrouped) then |
138 | Taonnor-14572 | _control:SetHidden(isHidden) |
|
139 | Taonnor-14572 | else |
|
140 | Taonnor-14572 | _control:SetHidden(true) |
|
141 | Taonnor-14572 | end |
|
142 | 50 | Taonnor-14572 | end |
143 | Taonnor-14572 | ||
144 | Taonnor-14572 | --[[ |
|
145 | Taonnor-14572 | SetControlActive activates/deactivates control |
|
146 | Taonnor-14572 | ]]-- |
|
147 | Taonnor-14572 | function TGU_GroupUltimateSelector.SetControlActive() |
|
148 | Taonnor-14572 | if (LOG_ACTIVE) then |
|
149 | Taonnor-14572 | _logger:logTrace("TGU_GroupUltimateSelector.SetControlActive") |
|
150 | Taonnor-14572 | end |
|
151 | Taonnor-14572 | ||
152 | 37 | Taonnor-14572 | local isHidden = TGU_SettingsHandler.IsControlsVisible() == false |
153 | Taonnor-14572 | if (LOG_ACTIVE) then _logger:logDebug("isHidden", isHidden) end |
|
154 | 32 | Taonnor-14572 | |
155 | 58 | Taonnor-14572 | TGU_GroupUltimateSelector.SetControlHidden(isHidden or CurrentHudHiddenState()) |
156 | 50 | Taonnor-14572 | |
157 | 37 | Taonnor-14572 | if (isHidden) then |
158 | 38 | Taonnor-14572 | CALLBACK_MANAGER:UnregisterCallback(TGU_MOVABLE_CHANGED, TGU_GroupUltimateSelector.SetControlMovable) |
159 | Taonnor-14572 | CALLBACK_MANAGER:UnregisterCallback(TGU_STATIC_ULTIMATE_ID_CHANGED, TGU_GroupUltimateSelector.SetUltimateIcon) |
|
160 | 50 | Taonnor-14572 | CALLBACK_MANAGER:UnregisterCallback(TUI_HUD_HIDDEN_STATE_CHANGED, TGU_GroupUltimateSelector.SetControlHidden) |
161 | 37 | Taonnor-14572 | else |
162 | Taonnor-14572 | TGU_GroupUltimateSelector.SetControlMovable(TGU_SettingsHandler.SavedVariables.Movable) |
|
163 | Taonnor-14572 | TGU_GroupUltimateSelector.RestorePosition(TGU_SettingsHandler.SavedVariables.SelectorPosX, TGU_SettingsHandler.SavedVariables.SelectorPosY) |
|
164 | Taonnor-14572 | TGU_GroupUltimateSelector.SetUltimateIcon(TGU_SettingsHandler.SavedVariables.StaticUltimateID) |
|
165 | Taonnor-14572 | ||
166 | 38 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TGU_MOVABLE_CHANGED, TGU_GroupUltimateSelector.SetControlMovable) |
167 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TGU_STATIC_ULTIMATE_ID_CHANGED, TGU_GroupUltimateSelector.SetUltimateIcon) |
|
168 | 50 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TUI_HUD_HIDDEN_STATE_CHANGED, TGU_GroupUltimateSelector.SetControlHidden) |
169 | 37 | Taonnor-14572 | end |
170 | 14 | Taonnor-14572 | end |
171 | Taonnor-14572 | ||
172 | Taonnor-14572 | --[[ |
|
173 | 37 | Taonnor-14572 | Initialize initializes TGU_GroupUltimateSelector |
174 | 14 | Taonnor-14572 | ]]-- |
175 | 37 | Taonnor-14572 | function TGU_GroupUltimateSelector.Initialize(logger) |
176 | 14 | Taonnor-14572 | if (LOG_ACTIVE) then |
177 | 37 | Taonnor-14572 | logger:logTrace("TGU_GroupUltimateSelector.Initialize") |
178 | 14 | Taonnor-14572 | end |
179 | Taonnor-14572 | ||
180 | 37 | Taonnor-14572 | _logger = logger |
181 | 46 | Taonnor-14572 | _control = TGU_UltimateSelectorControl |
182 | 14 | Taonnor-14572 | |
183 | 37 | Taonnor-14572 | TGU_GroupUltimateSelector.SetUltimateIcon(staticUltimateID) |
184 | Taonnor-14572 | ||
185 | 50 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TGU_IS_ZONE_CHANGED, TGU_GroupUltimateSelector.SetControlActive) |
186 | 58 | Taonnor-14572 | CALLBACK_MANAGER:RegisterCallback(TGU_UNIT_GROUPED_CHANGED, TGU_GroupUltimateSelector.SetControlActive) |
187 | 14 | Taonnor-14572 | end |