1 |
6 |
Kragenwar-3044 |
import "Turbine.UI"; |
2 |
|
Kragenwar-3044 |
import "Turbine.UI.Lotro"; |
3 |
|
Kragenwar-3044 |
import "Turbine.Gameplay"; |
4 |
|
Kragenwar-3044 |
import "KragenPlugs.Utils"; |
5 |
|
Kragenwar-3044 |
import "KragenPlugs.KragenBars"; |
6 |
|
Kragenwar-3044 |
|
7 |
|
Kragenwar-3044 |
ClassBar = class( ); |
8 |
|
Kragenwar-3044 |
|
9 |
|
Kragenwar-3044 |
function ClassBar:Constructor() |
10 |
|
Kragenwar-3044 |
|
11 |
|
Kragenwar-3044 |
-- inialize the setupWindow |
12 |
|
Kragenwar-3044 |
self.setup = SetupWindow(); |
13 |
96 |
Valdacil-446 |
self.setupglobals = self.setup.setupglobals; |
14 |
6 |
Kragenwar-3044 |
self.setupbb = self.setup.setupbb; |
15 |
|
Kragenwar-3044 |
self.setupf = self.setup.setupf; |
16 |
|
Kragenwar-3044 |
self.setupqs = self.setup.setupqs; |
17 |
|
Kragenwar-3044 |
|
18 |
|
Kragenwar-3044 |
-- inialize tables |
19 |
|
Kragenwar-3044 |
self.windows = { }; |
20 |
|
Kragenwar-3044 |
self.bars = { }; |
21 |
|
Kragenwar-3044 |
self.skills = { }; |
22 |
|
Kragenwar-3044 |
self.multi = { }; |
23 |
|
Kragenwar-3044 |
|
24 |
53 |
Kragenwar-3044 |
self.barlist = { }; |
25 |
|
Kragenwar-3044 |
self.effectlist = {}; |
26 |
|
Kragenwar-3044 |
self.barcount = 0; |
27 |
74 |
Valdacil-446 |
self.currentedit = nil; |
28 |
|
Valdacil-446 |
self.currentkey = nil; |
29 |
|
Valdacil-446 |
|
30 |
|
Valdacil-446 |
-- SET AND UPDATE DEFAULT SETTINGS |
31 |
|
Valdacil-446 |
if (not settings.class) then |
32 |
|
Valdacil-446 |
settings.class = vars.playerclass; |
33 |
|
Valdacil-446 |
self:DefaultSettings(); |
34 |
|
Valdacil-446 |
else |
35 |
|
Valdacil-446 |
self.settings = settings.classinfo; |
36 |
|
Valdacil-446 |
if (settings.vers ~= vars.vers) then |
37 |
|
Valdacil-446 |
self:UpdateSettings(); |
38 |
|
Valdacil-446 |
end |
39 |
|
Valdacil-446 |
end |
40 |
53 |
Kragenwar-3044 |
|
41 |
6 |
Kragenwar-3044 |
self.setup:SetWantsKeyEvents(true); |
42 |
|
Kragenwar-3044 |
|
43 |
|
Kragenwar-3044 |
self.setup.KeyDown = function(sender, args) |
44 |
|
Kragenwar-3044 |
if args.Action == 0x100000B3 then |
45 |
|
Kragenwar-3044 |
self.setup:SetWantsUpdates(true); |
46 |
|
Kragenwar-3044 |
end |
47 |
|
Kragenwar-3044 |
end |
48 |
|
Kragenwar-3044 |
|
49 |
|
Kragenwar-3044 |
self.setup.Update = function(sender, args) |
50 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
51 |
|
Kragenwar-3044 |
v:RefreshBorders(); |
52 |
|
Kragenwar-3044 |
end |
53 |
|
Kragenwar-3044 |
self.setup:SetWantsUpdates(false); |
54 |
|
Kragenwar-3044 |
end |
55 |
|
Kragenwar-3044 |
|
56 |
63 |
Kragenwar-3044 |
-- BUILD ALL WINDOWS AND USERCONF BARS |
57 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.userconf) do |
58 |
|
Kragenwar-3044 |
self.barlist[v.id] = k; |
59 |
|
Kragenwar-3044 |
self.windows[k] = SkillWindow(v); |
60 |
|
Kragenwar-3044 |
self.bars[k] = SkillBar(self.windows[k], 1, 1, v.size[1], v.size[2], true, false); |
61 |
|
Kragenwar-3044 |
self.barcount = self.barcount + 1; |
62 |
|
Kragenwar-3044 |
end |
63 |
|
Kragenwar-3044 |
|
64 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.preconf) do |
65 |
|
Kragenwar-3044 |
self.barlist[v.id] = k; |
66 |
|
Kragenwar-3044 |
self.windows[k] = SkillWindow(v); |
67 |
|
Kragenwar-3044 |
self.barcount = self.barcount + 1; |
68 |
|
Kragenwar-3044 |
end |
69 |
|
Kragenwar-3044 |
|
70 |
6 |
Kragenwar-3044 |
-- Combat Event |
71 |
|
Kragenwar-3044 |
AddCallback(vars.player, "InCombatChanged", function(sender, args) |
72 |
|
Kragenwar-3044 |
KragenBars:CombatChange(vars.player:IsInCombat()); |
73 |
|
Kragenwar-3044 |
end); |
74 |
|
Kragenwar-3044 |
|
75 |
|
Kragenwar-3044 |
-- Effect Events |
76 |
|
Kragenwar-3044 |
AddCallback(vars.effects, "EffectAdded", function(sender, args) |
77 |
|
Kragenwar-3044 |
KragenBars:AddEffect( args.Index ); |
78 |
|
Kragenwar-3044 |
end); |
79 |
|
Kragenwar-3044 |
|
80 |
|
Kragenwar-3044 |
AddCallback(vars.effects, "EffectRemoved", function(sender, args) |
81 |
|
Kragenwar-3044 |
if (args.Effect ~= nil) then |
82 |
|
Kragenwar-3044 |
KragenBars:RemoveEffect( args.Effect ); |
83 |
|
Kragenwar-3044 |
end |
84 |
|
Kragenwar-3044 |
end); |
85 |
|
Kragenwar-3044 |
|
86 |
|
Kragenwar-3044 |
end |
87 |
|
Kragenwar-3044 |
|
88 |
|
Kragenwar-3044 |
-- Index and Position Bars |
89 |
|
Kragenwar-3044 |
function ClassBar:InitBars() |
90 |
48 |
Kragenwar-3044 |
self.DefineEffectList(); |
91 |
|
Kragenwar-3044 |
|
92 |
6 |
Kragenwar-3044 |
for k,v in pairs(self.bars) do |
93 |
|
Kragenwar-3044 |
v.index = k; |
94 |
|
Kragenwar-3044 |
end |
95 |
|
Kragenwar-3044 |
|
96 |
|
Kragenwar-3044 |
if(settings.skilldata ~=nil) then |
97 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
98 |
|
Kragenwar-3044 |
if (settings.skilldata[k] ~= nil) then |
99 |
|
Kragenwar-3044 |
local data = settings.skilldata[k]; |
100 |
|
Kragenwar-3044 |
data.parent = self.bars[settings.skilldata[k].parent] |
101 |
|
Kragenwar-3044 |
v:LoadPosition(data); |
102 |
|
Kragenwar-3044 |
end |
103 |
82 |
Kragenwar-3044 |
if (v.parent ~= nil) then |
104 |
|
Kragenwar-3044 |
v.parent:AddSkill(v); |
105 |
|
Kragenwar-3044 |
end |
106 |
|
Kragenwar-3044 |
v:RefreshBorders(); |
107 |
6 |
Kragenwar-3044 |
end |
108 |
|
Kragenwar-3044 |
end |
109 |
|
Kragenwar-3044 |
|
110 |
|
Kragenwar-3044 |
if(settings.multidata ~=nil) then |
111 |
|
Kragenwar-3044 |
for k,v in pairs(self.multi) do |
112 |
|
Kragenwar-3044 |
if (settings.multidata[k] ~= nil) then |
113 |
|
Kragenwar-3044 |
local data = settings.multidata[k]; |
114 |
|
Kragenwar-3044 |
data.parent = self.bars[settings.multidata[k].parent] |
115 |
|
Kragenwar-3044 |
v:LoadPosition(data); |
116 |
|
Kragenwar-3044 |
end |
117 |
82 |
Kragenwar-3044 |
if (v.parent ~= nil) then |
118 |
|
Kragenwar-3044 |
v.parent:AddSkill(v); |
119 |
|
Kragenwar-3044 |
end |
120 |
6 |
Kragenwar-3044 |
end |
121 |
|
Kragenwar-3044 |
end |
122 |
|
Kragenwar-3044 |
|
123 |
82 |
Kragenwar-3044 |
if (settings.customslots ~= nil) then |
124 |
|
Kragenwar-3044 |
self.customslots = { }; |
125 |
|
Kragenwar-3044 |
for k,v in pairs(settings.customslots) do |
126 |
|
Kragenwar-3044 |
if (v.parent ~= nil) then |
127 |
|
Kragenwar-3044 |
self.customslots[k] = ItemSlot(self.bars[v.parent], v.x, v.y, true, {active=true,data=v.data,type=v.type}); |
128 |
|
Kragenwar-3044 |
else |
129 |
|
Kragenwar-3044 |
self.customslots[k] = ItemSlot(limbo, v.x, v.y, true, {active=true,data=v.data,type=v.type}); |
130 |
|
Kragenwar-3044 |
end |
131 |
|
Kragenwar-3044 |
if (v.parent ~= nil) then |
132 |
|
Kragenwar-3044 |
self.bars[v.parent]:AddSkill(self.customslots[k]); |
133 |
|
Kragenwar-3044 |
end |
134 |
|
Kragenwar-3044 |
end |
135 |
|
Kragenwar-3044 |
end |
136 |
|
Kragenwar-3044 |
|
137 |
6 |
Kragenwar-3044 |
for k,v in pairs(self.windows) do |
138 |
|
Kragenwar-3044 |
v:SetVisible(v.active); |
139 |
|
Kragenwar-3044 |
end |
140 |
|
Kragenwar-3044 |
|
141 |
|
Kragenwar-3044 |
for i = 1, vars.effects:GetCount() do |
142 |
|
Kragenwar-3044 |
self:AddEffect(i); |
143 |
94 |
Kragenwar-3044 |
end |
144 |
63 |
Kragenwar-3044 |
|
145 |
95 |
Kragenwar-3044 |
self.setup.VisibleChanged = function(sender, args) |
146 |
|
Kragenwar-3044 |
self:EditBars(self.setup:IsVisible()); |
147 |
|
Kragenwar-3044 |
end |
148 |
|
Kragenwar-3044 |
|
149 |
94 |
Kragenwar-3044 |
if (settings.classinfo == nil) then self:ShowSetup() end; |
150 |
|
Kragenwar-3044 |
self:SaveSettings(); |
151 |
|
Kragenwar-3044 |
kbbutton = KBButton(settings.kbbutton.x, settings.kbbutton.y); |
152 |
|
Kragenwar-3044 |
|
153 |
74 |
Valdacil-446 |
end |
154 |
|
Valdacil-446 |
|
155 |
|
Valdacil-446 |
function ClassBar:SaveBarOptions(index) |
156 |
|
Valdacil-446 |
self.windows[index]:SetBackColor(Turbine.UI.Color(nil)); |
157 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetWantsUpdates(false); |
158 |
|
Valdacil-446 |
self.setupbb.barsactive:SetWantsUpdates(false); |
159 |
|
Valdacil-446 |
self.setupbb.barscombat:SetWantsUpdates(false); |
160 |
|
Valdacil-446 |
self.setupbb.barswidth:SetWantsUpdates(false); |
161 |
|
Valdacil-446 |
self.setupbb.barsheight:SetWantsUpdates(false); |
162 |
|
Valdacil-446 |
self.windows[index].dragBar:SetRotator(true); |
163 |
|
Valdacil-446 |
self.windows[index].dragBar:SetRotatorOffset(3, 23); |
164 |
|
Valdacil-446 |
|
165 |
|
Valdacil-446 |
end |
166 |
|
Valdacil-446 |
|
167 |
|
Valdacil-446 |
function ClassBar:SetBarOptions(index) |
168 |
|
Valdacil-446 |
if (self.settings.preconf[self.barlist[index]] ~= nil) then |
169 |
|
Valdacil-446 |
self.currentedit = self.settings.preconf[self.barlist[index]]; |
170 |
|
Valdacil-446 |
self.currentkey = self.barlist[index]; |
171 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetText(self.currentedit.name); |
172 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetEnabled(false); |
173 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetVisible(true); |
174 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetWantsUpdates(false); |
175 |
|
Valdacil-446 |
self.setupbb.barsactive:SetChecked(self.currentedit.active); |
176 |
|
Valdacil-446 |
self.setupbb.barsactive:SetVisible(true); |
177 |
|
Valdacil-446 |
self.setupbb.barsactive:SetWantsUpdates(true); |
178 |
|
Valdacil-446 |
self.setupbb.barscombat:SetVisible(true); |
179 |
|
Valdacil-446 |
self.setupbb.barscombat:SetSelection(self.windows[self.currentkey]:GetCombat()); |
180 |
|
Valdacil-446 |
self.setupbb.barswidth:SetVisible(false); |
181 |
|
Valdacil-446 |
self.setupbb.barswidth:SetWantsUpdates(false); |
182 |
|
Valdacil-446 |
self.setupbb.barsheight:SetVisible(false); |
183 |
|
Valdacil-446 |
self.setupbb.barsheight:SetWantsUpdates(false); |
184 |
|
Valdacil-446 |
self.setupbb.barsbuttonremove:SetVisible(false); |
185 |
|
Valdacil-446 |
self.windows[self.currentkey]:SetBackColor(Turbine.UI.Color( 0, 0, 1 )); |
186 |
|
Valdacil-446 |
self.windows[self.currentkey].dragBar:SetRotator(false); |
187 |
94 |
Kragenwar-3044 |
--self:EditBar(self.currentkey); |
188 |
74 |
Valdacil-446 |
elseif (self.settings.userconf[self.barlist[index]] ~= nil) then |
189 |
|
Valdacil-446 |
self.currentedit = self.settings.userconf[self.barlist[index]]; |
190 |
|
Valdacil-446 |
self.currentkey = self.barlist[index]; |
191 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetText(self.currentedit.name); |
192 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetVisible(true); |
193 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetWantsUpdates(true); |
194 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetEnabled(true); |
195 |
|
Valdacil-446 |
self.setupbb.barsactive:SetChecked(self.currentedit.active); |
196 |
|
Valdacil-446 |
self.setupbb.barsactive:SetVisible(true); |
197 |
|
Valdacil-446 |
self.setupbb.barsactive:SetWantsUpdates(true); |
198 |
|
Valdacil-446 |
self.setupbb.barscombat:SetVisible(true); |
199 |
|
Valdacil-446 |
self.setupbb.barscombat:SetSelection(self.windows[self.currentkey]:GetCombat()); |
200 |
|
Valdacil-446 |
self.setupbb.barswidth:SetValue(self.windows[self.currentkey].width); |
201 |
|
Valdacil-446 |
self.setupbb.barswidth:SetVisible(true); |
202 |
|
Valdacil-446 |
self.setupbb.barswidth:SetWantsUpdates(true); |
203 |
|
Valdacil-446 |
self.setupbb.barsheight:SetValue(self.windows[self.currentkey].height); |
204 |
|
Valdacil-446 |
self.setupbb.barsheight:SetVisible(true); |
205 |
|
Valdacil-446 |
self.setupbb.barsheight:SetWantsUpdates(true); |
206 |
|
Valdacil-446 |
self.setupbb.barsbuttonremove:SetVisible(true); |
207 |
|
Valdacil-446 |
self.windows[self.currentkey]:SetBackColor(Turbine.UI.Color( 0, 0, 1 )); |
208 |
|
Valdacil-446 |
self.windows[self.currentkey].dragBar:SetRotator(false); |
209 |
94 |
Kragenwar-3044 |
--self:EditBar(self.currentkey); |
210 |
74 |
Valdacil-446 |
else |
211 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetVisible(false); |
212 |
|
Valdacil-446 |
self.setupbb.barsnamebox:SetWantsUpdates(false); |
213 |
|
Valdacil-446 |
self.setupbb.barsactive:SetVisible(false); |
214 |
|
Valdacil-446 |
self.setupbb.barsactive:SetWantsUpdates(false); |
215 |
|
Valdacil-446 |
self.setupbb.barscombat:SetVisible(false); |
216 |
|
Valdacil-446 |
self.setupbb.barswidth:SetVisible(false); |
217 |
|
Valdacil-446 |
self.setupbb.barswidth:SetWantsUpdates(false); |
218 |
|
Valdacil-446 |
self.setupbb.barsheight:SetVisible(false); |
219 |
|
Valdacil-446 |
self.setupbb.barsheight:SetWantsUpdates(false); |
220 |
|
Valdacil-446 |
self.setupbb.barsbuttonremove:SetVisible(false); |
221 |
94 |
Kragenwar-3044 |
--self:EditBar(nil); |
222 |
74 |
Valdacil-446 |
self.currentedit = nil; |
223 |
|
Valdacil-446 |
self.currentkey = nil; |
224 |
|
Valdacil-446 |
end |
225 |
|
Valdacil-446 |
|
226 |
|
Valdacil-446 |
end |
227 |
|
Valdacil-446 |
|
228 |
|
Valdacil-446 |
function ClassBar:ShowSetup() |
229 |
|
Valdacil-446 |
self.setup:SetVisible(true); |
230 |
85 |
Valdacil-446 |
if (vars.playerclass == "Loremaster") then |
231 |
101 |
Kragenwar-3044 |
self:SetupPets(); |
232 |
85 |
Valdacil-446 |
end |
233 |
74 |
Valdacil-446 |
|
234 |
|
Valdacil-446 |
self.setupbb.barslist.listBox:ClearItems(); |
235 |
|
Valdacil-446 |
self.setupbb.barslist:AddItem(" ", 0); |
236 |
63 |
Kragenwar-3044 |
for k,v in pairs(self.barlist) do |
237 |
|
Kragenwar-3044 |
if (self.settings.preconf[v] ~= nil) then |
238 |
74 |
Valdacil-446 |
self.setupbb.barslist:AddItem(self.settings.preconf[v].name, k); |
239 |
63 |
Kragenwar-3044 |
elseif (self.settings.userconf[v] ~= nil) then |
240 |
74 |
Valdacil-446 |
self.setupbb.barslist:AddItem(self.settings.userconf[v].name, k); |
241 |
63 |
Kragenwar-3044 |
end |
242 |
|
Kragenwar-3044 |
end |
243 |
74 |
Valdacil-446 |
self:SetBarOptions(self.currentkey); |
244 |
63 |
Kragenwar-3044 |
|
245 |
74 |
Valdacil-446 |
self.setupbb.barslist.SelectedIndexChanged = function(sender, args) |
246 |
|
Valdacil-446 |
if (self.currentkey ~= nil) then |
247 |
|
Valdacil-446 |
self:SaveBarOptions(self.currentkey); |
248 |
|
Valdacil-446 |
end |
249 |
|
Valdacil-446 |
self.currentkey = args.selection; |
250 |
|
Valdacil-446 |
self:SetBarOptions(self.currentkey); |
251 |
|
Valdacil-446 |
end |
252 |
|
Valdacil-446 |
|
253 |
|
Valdacil-446 |
self.setupbb.barsbuttonnew.Click = function(sender, args) |
254 |
63 |
Kragenwar-3044 |
local newbar = self:CreateBar(); |
255 |
74 |
Valdacil-446 |
self.setupbb.barslist:AddItem(self.settings.userconf[self.barlist[newbar]].name, newbar); |
256 |
|
Valdacil-446 |
self.setupbb.barslist:SetSelection(newbar); |
257 |
63 |
Kragenwar-3044 |
end |
258 |
|
Kragenwar-3044 |
|
259 |
74 |
Valdacil-446 |
self.setupbb.barsbuttonremove.Click = function(sender, args) |
260 |
|
Valdacil-446 |
local deletebar = self.currentkey; |
261 |
|
Valdacil-446 |
self.setupbb.barslist:SetSelection(0); |
262 |
|
Valdacil-446 |
self:DeleteBar(deletebar); |
263 |
|
Valdacil-446 |
self.setupbb.barslist.listBox:ClearItems(); |
264 |
|
Valdacil-446 |
self.setupbb.barslist:AddItem(" ", 0); |
265 |
63 |
Kragenwar-3044 |
for k,v in pairs(self.barlist) do |
266 |
74 |
Valdacil-446 |
if (self.settings.preconf[v] ~= nil) then |
267 |
|
Valdacil-446 |
self.setupbb.barslist:AddItem(self.settings.preconf[v].name, k); |
268 |
|
Valdacil-446 |
elseif (self.settings.userconf[v] ~= nil) then |
269 |
|
Valdacil-446 |
self.setupbb.barslist:AddItem(self.settings.userconf[v].name, k); |
270 |
63 |
Kragenwar-3044 |
end |
271 |
|
Kragenwar-3044 |
end |
272 |
66 |
Kragenwar-3044 |
end |
273 |
74 |
Valdacil-446 |
|
274 |
|
Valdacil-446 |
self.setupbb.barsnamebox.Update = function(sender, args) |
275 |
|
Valdacil-446 |
self:RenameBar(self.currentkey, self.setupbb.barsnamebox:GetText()); |
276 |
|
Valdacil-446 |
self.setupbb.barslist:UpdateSelectionText(self.setupbb.barsnamebox:GetText()); |
277 |
|
Valdacil-446 |
end |
278 |
|
Valdacil-446 |
|
279 |
|
Valdacil-446 |
self.setupbb.barsactive.Update = function(sender, args) |
280 |
95 |
Kragenwar-3044 |
if (self.currentedit ~= nil) then self.currentedit.active = self.setupbb.barsactive:IsChecked(); end |
281 |
|
Kragenwar-3044 |
if (self.windows[self.currentkey] ~= nil) then self.windows[self.currentkey]:Refresh(self.setupbb.barsactive:IsChecked()); end |
282 |
63 |
Kragenwar-3044 |
end |
283 |
|
Kragenwar-3044 |
|
284 |
74 |
Valdacil-446 |
self.setupbb.barscombat.SelectedIndexChanged = function(sender, args) |
285 |
63 |
Kragenwar-3044 |
self:BarCombat(self.currentkey, args.selection); |
286 |
|
Kragenwar-3044 |
end |
287 |
74 |
Valdacil-446 |
|
288 |
|
Valdacil-446 |
self.setupbb.barswidth.Update = function(sender, args) |
289 |
|
Valdacil-446 |
self.currentedit.size = { self.setupbb.barswidth:GetValue(), self.setupbb.barsheight:GetValue() }; |
290 |
63 |
Kragenwar-3044 |
self:ResizeBar(self.currentkey, self.currentedit.size); |
291 |
|
Kragenwar-3044 |
end |
292 |
74 |
Valdacil-446 |
|
293 |
|
Valdacil-446 |
self.setupbb.barsheight.Update = function(sender, args) |
294 |
|
Valdacil-446 |
self.currentedit.size = { self.setupbb.barswidth:GetValue(), self.setupbb.barsheight:GetValue() }; |
295 |
63 |
Kragenwar-3044 |
self:ResizeBar(self.currentkey, self.currentedit.size); |
296 |
|
Kragenwar-3044 |
end |
297 |
|
Kragenwar-3044 |
|
298 |
96 |
Valdacil-446 |
self.setupglobals.opacityslider:SetValue(settings.opacity * 100); |
299 |
|
Valdacil-446 |
self.setupglobals.checkboxlock:SetChecked(settings.lockslots); |
300 |
|
Valdacil-446 |
self.setupglobals.checkboxgrid:SetChecked(settings.snaptogrid); |
301 |
|
Valdacil-446 |
if (settings.advanceonclick == nil) then |
302 |
99 |
Kragenwar-3044 |
self.setupglobals.checkboxmulticlick:SetChecked(false); |
303 |
|
Kragenwar-3044 |
else |
304 |
96 |
Valdacil-446 |
self.setupglobals.checkboxmulticlick:SetChecked(settings.advanceonclick); |
305 |
|
Valdacil-446 |
end |
306 |
75 |
Valdacil-446 |
if (settings.gridspacing == nil) then |
307 |
96 |
Valdacil-446 |
self.setupglobals.gridsizeslider:SetValue(36); |
308 |
75 |
Valdacil-446 |
else |
309 |
96 |
Valdacil-446 |
self.setupglobals.gridsizeslider:SetValue(settings.gridspacing * 36 / 35); |
310 |
75 |
Valdacil-446 |
end |
311 |
96 |
Valdacil-446 |
self.setupglobals.combolangbox:SetSelection(settings.language); |
312 |
63 |
Kragenwar-3044 |
|
313 |
127 |
Valdacil-446 |
-- Prep Features Window |
314 |
|
Valdacil-446 |
if (self.setupf.titlebars[1] == nil) then |
315 |
|
Valdacil-446 |
local rownumber = 0; |
316 |
|
Valdacil-446 |
local countbox = 0; |
317 |
|
Valdacil-446 |
|
318 |
|
Valdacil-446 |
self.setupf:AddTitleBar("Traits"); |
319 |
|
Valdacil-446 |
for k,v in pairs(self.settings.traits) do countbox = countbox + 1 end |
320 |
|
Valdacil-446 |
if (math.mod(countbox, 2) == 0) then |
321 |
|
Valdacil-446 |
rownumber = countbox / 2; |
322 |
|
Valdacil-446 |
else |
323 |
|
Valdacil-446 |
rownumber = (countbox + 1) / 2; |
324 |
|
Valdacil-446 |
end |
325 |
|
Valdacil-446 |
for i = 1,rownumber do self.setupf:AddCheckboxRow(self.setupf.traits) end |
326 |
|
Valdacil-446 |
|
327 |
|
Valdacil-446 |
countbox = 0; |
328 |
|
Valdacil-446 |
self.setupf:AddTitleBar("Features"); |
329 |
|
Valdacil-446 |
for k,v in pairs(self.settings.features) do countbox = countbox + 1 end |
330 |
|
Valdacil-446 |
if (math.mod(countbox, 2) == 0) then |
331 |
|
Valdacil-446 |
rownumber = countbox / 2; |
332 |
|
Valdacil-446 |
else |
333 |
|
Valdacil-446 |
rownumber = (countbox + 1) / 2; |
334 |
|
Valdacil-446 |
end |
335 |
|
Valdacil-446 |
for i = 1,rownumber do self.setupf:AddCheckboxRow(self.setupf.features) end |
336 |
|
Valdacil-446 |
|
337 |
|
Valdacil-446 |
countbox = 0; |
338 |
|
Valdacil-446 |
self.setupf:AddTitleBar("Defaults"); |
339 |
|
Valdacil-446 |
for k,v in pairs(self.settings.defaults) do countbox = countbox + 1 end |
340 |
|
Valdacil-446 |
for i = 1,countbox do self.setupf:AddComboBox(self.setupf.defaults) end |
341 |
|
Valdacil-446 |
end |
342 |
|
Valdacil-446 |
|
343 |
63 |
Kragenwar-3044 |
for k,v in pairs(self.settings.traits) do self.setupf.traits[v.id]:SetActive(v.name, v.active) end |
344 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.features) do self.setupf.features[v.id]:SetActive(v.name, v.active) end |
345 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.defaults) do |
346 |
|
Kragenwar-3044 |
self.setupf.defaults[v.id].combobox.listBox:ClearItems(); |
347 |
65 |
Valdacil-446 |
self.setupf.defaults[v.id].label:SetText(v.name); |
348 |
63 |
Kragenwar-3044 |
self.setupf.defaults[v.id].label:SetVisible(true); |
349 |
|
Kragenwar-3044 |
for key,value in pairs(v.list) do |
350 |
|
Kragenwar-3044 |
self.setupf.defaults[v.id].combobox:AddItem(value, key); |
351 |
|
Kragenwar-3044 |
end |
352 |
|
Kragenwar-3044 |
self.setupf.defaults[v.id].combobox:SetVisible(true); |
353 |
|
Kragenwar-3044 |
self.setupf.defaults[v.id].combobox:SetSelection(v.selected); |
354 |
|
Kragenwar-3044 |
end |
355 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.quickslots) do self.setupqs:ActivateQuickslot(self.setupqs.quickslots[v.id], v.name, v.active, v.type, v.data) end |
356 |
|
Kragenwar-3044 |
end |
357 |
|
Kragenwar-3044 |
|
358 |
|
Kragenwar-3044 |
function ClassBar:SetupClosing() |
359 |
74 |
Valdacil-446 |
self.setupbb.barslist:SetSelection(0); |
360 |
|
Valdacil-446 |
|
361 |
85 |
Valdacil-446 |
if (vars.playerclass == "Loremaster") then |
362 |
|
Valdacil-446 |
KragenBars:SetupPetsClosing(); |
363 |
|
Valdacil-446 |
end |
364 |
|
Valdacil-446 |
|
365 |
96 |
Valdacil-446 |
settings.opacity = (self.setupglobals.opacityslider:GetValue() / 100); |
366 |
|
Valdacil-446 |
settings.lockslots = self.setupglobals.checkboxlock:IsChecked(); |
367 |
|
Valdacil-446 |
settings.snaptogrid = self.setupglobals.checkboxgrid:IsChecked(); |
368 |
|
Valdacil-446 |
settings.advanceonclick = self.setupglobals.checkboxmulticlick:IsChecked(); |
369 |
|
Valdacil-446 |
settings.language = self.setupglobals.combolangbox:GetSelection(); |
370 |
|
Valdacil-446 |
settings.gridspacing = (self.setupglobals.gridsizeslider:GetValue() * 35 / 36); |
371 |
63 |
Kragenwar-3044 |
|
372 |
74 |
Valdacil-446 |
-- for k, v in pairs (self.settings.preconf) do v.active = self.setupbb.buttonbars[v.id]:IsChecked() end |
373 |
|
Valdacil-446 |
-- for k, v in pairs (self.settings.userconf) do v.active = self.setupbb.buttonbars[v.id]:IsChecked() end |
374 |
63 |
Kragenwar-3044 |
for k, v in pairs (self.settings.traits) do v.active = self.setupf.traits[v.id]:IsChecked() end |
375 |
|
Kragenwar-3044 |
for k, v in pairs (self.settings.features) do v.active = self.setupf.features[v.id]:IsChecked() end |
376 |
|
Kragenwar-3044 |
for k, v in pairs (self.settings.defaults) do v.selected = self.setupf.defaults[v.id].combobox:GetSelection() end |
377 |
|
Kragenwar-3044 |
for k, v in pairs (self.settings.quickslots) do |
378 |
|
Kragenwar-3044 |
if (self.setupqs.quickslots[v.id].quickslot:GetShortcut():GetData() ~= "" ) then |
379 |
|
Kragenwar-3044 |
v.active = self.setupqs.quickslots[v.id].checkbox:IsChecked(); |
380 |
|
Kragenwar-3044 |
v.type = self.setupqs.quickslots[v.id].quickslot:GetShortcut():GetType(); |
381 |
|
Kragenwar-3044 |
v.data = self.setupqs.quickslots[v.id].quickslot:GetShortcut():GetData(); |
382 |
|
Kragenwar-3044 |
else |
383 |
|
Kragenwar-3044 |
v.active = false; |
384 |
|
Kragenwar-3044 |
v.type = Turbine.UI.Lotro.ShortcutType.Undefined; |
385 |
|
Kragenwar-3044 |
v.data = ""; |
386 |
|
Kragenwar-3044 |
end |
387 |
|
Kragenwar-3044 |
end |
388 |
|
Kragenwar-3044 |
|
389 |
|
Kragenwar-3044 |
self:SaveSettings(); |
390 |
|
Kragenwar-3044 |
self:Refresh(); |
391 |
|
Kragenwar-3044 |
end |
392 |
|
Kragenwar-3044 |
|
393 |
6 |
Kragenwar-3044 |
-- Swap Slots |
394 |
82 |
Kragenwar-3044 |
function ClassBar:SwapSlots(ref, code, type, item) |
395 |
6 |
Kragenwar-3044 |
local swap = nil; |
396 |
|
Kragenwar-3044 |
local swaptype = 1; |
397 |
|
Kragenwar-3044 |
if (not settings.lockslots) then |
398 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
399 |
66 |
Kragenwar-3044 |
if (not item) then |
400 |
78 |
Kragenwar-3044 |
if (v:CheckShortcut(code)) then |
401 |
66 |
Kragenwar-3044 |
swap = v; |
402 |
|
Kragenwar-3044 |
swaptype = 1; |
403 |
|
Kragenwar-3044 |
end |
404 |
|
Kragenwar-3044 |
else |
405 |
|
Kragenwar-3044 |
if (v.item ~= nil and v.item:GetName() == code) then |
406 |
|
Kragenwar-3044 |
swap = v; |
407 |
|
Kragenwar-3044 |
swaptype = 1; |
408 |
|
Kragenwar-3044 |
end |
409 |
6 |
Kragenwar-3044 |
end |
410 |
|
Kragenwar-3044 |
end |
411 |
82 |
Kragenwar-3044 |
if (self.customslots ~= nil) then |
412 |
|
Kragenwar-3044 |
for k,v in pairs(self.customslots) do |
413 |
|
Kragenwar-3044 |
if (not item) then |
414 |
|
Kragenwar-3044 |
if (v:CheckShortcut(code)) then |
415 |
|
Kragenwar-3044 |
swap = v; |
416 |
|
Kragenwar-3044 |
swaptype = 1; |
417 |
|
Kragenwar-3044 |
end |
418 |
|
Kragenwar-3044 |
else |
419 |
|
Kragenwar-3044 |
if (v.item ~= nil and v.item:GetName() == code) then |
420 |
|
Kragenwar-3044 |
swap = v; |
421 |
|
Kragenwar-3044 |
swaptype = 1; |
422 |
|
Kragenwar-3044 |
end |
423 |
|
Kragenwar-3044 |
end |
424 |
|
Kragenwar-3044 |
end |
425 |
|
Kragenwar-3044 |
end |
426 |
6 |
Kragenwar-3044 |
for k,v in pairs(self.multi) do |
427 |
66 |
Kragenwar-3044 |
if (not item) then |
428 |
78 |
Kragenwar-3044 |
if (v:CheckShortcut(code)) then |
429 |
6 |
Kragenwar-3044 |
swap = v; |
430 |
|
Kragenwar-3044 |
swaptype = 2; |
431 |
66 |
Kragenwar-3044 |
end |
432 |
|
Kragenwar-3044 |
else |
433 |
|
Kragenwar-3044 |
if (v.item ~= nil and v.item:GetName() == code ) then |
434 |
|
Kragenwar-3044 |
swap = v; |
435 |
|
Kragenwar-3044 |
swaptype = 2; |
436 |
|
Kragenwar-3044 |
end |
437 |
6 |
Kragenwar-3044 |
end |
438 |
|
Kragenwar-3044 |
end |
439 |
87 |
Kragenwar-3044 |
|
440 |
|
Kragenwar-3044 |
if (swap ~= nil) then |
441 |
118 |
Kragenwar-3044 |
if (swap:GetParent() == limbo or swap:GetParent() == nil) then |
442 |
87 |
Kragenwar-3044 |
if (not ref:GetParent().exclusive and ref:GetParent() == ref.parent) then |
443 |
|
Kragenwar-3044 |
swap:SwapPosition(ref); |
444 |
|
Kragenwar-3044 |
end |
445 |
|
Kragenwar-3044 |
else |
446 |
|
Kragenwar-3044 |
if( (ref:GetParent() == swap:GetParent() or ( not ref:GetParent().exclusive and not swap:GetParent().exclusive)) and (ref:GetParent() == ref.parent and swap:GetParent() == swap.parent)) then |
447 |
|
Kragenwar-3044 |
if (swaptype == 1) then |
448 |
|
Kragenwar-3044 |
ref:SwapPosition(swap); |
449 |
|
Kragenwar-3044 |
else |
450 |
|
Kragenwar-3044 |
swap:SwapPosition(ref); |
451 |
|
Kragenwar-3044 |
end |
452 |
|
Kragenwar-3044 |
end |
453 |
48 |
Kragenwar-3044 |
end |
454 |
6 |
Kragenwar-3044 |
else |
455 |
87 |
Kragenwar-3044 |
if (settings.customslots == nil) then |
456 |
|
Kragenwar-3044 |
settings.customslots = { }; |
457 |
48 |
Kragenwar-3044 |
end |
458 |
87 |
Kragenwar-3044 |
if (self.customslots == nil) then |
459 |
|
Kragenwar-3044 |
self.customslots = { }; |
460 |
|
Kragenwar-3044 |
end |
461 |
|
Kragenwar-3044 |
|
462 |
|
Kragenwar-3044 |
settings.customslots[#settings.customslots+1] = {parent = ref.parent.index, x = ref.x, y = ref.y, type = type, data = code}; |
463 |
|
Kragenwar-3044 |
self.customslots[#settings.customslots] = ItemSlot(ref.parent, ref.x, ref.y, true, { active = true, data = code, type = type }); |
464 |
|
Kragenwar-3044 |
|
465 |
|
Kragenwar-3044 |
if (not ref.blank) then |
466 |
|
Kragenwar-3044 |
ref:SetParent(limbo); |
467 |
92 |
Kragenwar-3044 |
ref.parent = nil; |
468 |
|
Kragenwar-3044 |
ref:SetPosition(0,0); |
469 |
|
Kragenwar-3044 |
ref.x = 1; |
470 |
|
Kragenwar-3044 |
ref.y = 1; |
471 |
87 |
Kragenwar-3044 |
end |
472 |
6 |
Kragenwar-3044 |
end |
473 |
|
Kragenwar-3044 |
end |
474 |
78 |
Kragenwar-3044 |
if (swap ~= nil and swap.parent.index == self.currentkey) then |
475 |
63 |
Kragenwar-3044 |
swap:SetOpacity(1); |
476 |
|
Kragenwar-3044 |
swap:ResetQuickslot(); |
477 |
|
Kragenwar-3044 |
end |
478 |
6 |
Kragenwar-3044 |
ref:ResetQuickslot(); |
479 |
|
Kragenwar-3044 |
end |
480 |
|
Kragenwar-3044 |
|
481 |
|
Kragenwar-3044 |
-- Rotate Window |
482 |
|
Kragenwar-3044 |
function ClassBar:RotateWindow(ref) |
483 |
|
Kragenwar-3044 |
local rotatebar = { }; |
484 |
|
Kragenwar-3044 |
local counter=1 |
485 |
|
Kragenwar-3044 |
for k,v in pairs(self.bars) do |
486 |
|
Kragenwar-3044 |
if(v:GetParent() == ref) then |
487 |
|
Kragenwar-3044 |
v:RotateBar(); |
488 |
|
Kragenwar-3044 |
rotatebar[counter] = v; |
489 |
|
Kragenwar-3044 |
counter = counter + 1; |
490 |
|
Kragenwar-3044 |
end |
491 |
|
Kragenwar-3044 |
end |
492 |
|
Kragenwar-3044 |
|
493 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
494 |
|
Kragenwar-3044 |
for i=1, counter do |
495 |
|
Kragenwar-3044 |
if(v:GetParent() == rotatebar[i]) then |
496 |
|
Kragenwar-3044 |
v:RotateBar(); |
497 |
|
Kragenwar-3044 |
end |
498 |
|
Kragenwar-3044 |
end |
499 |
|
Kragenwar-3044 |
end |
500 |
|
Kragenwar-3044 |
|
501 |
|
Kragenwar-3044 |
for k,v in pairs(self.multi) do |
502 |
|
Kragenwar-3044 |
for i=1, counter do |
503 |
|
Kragenwar-3044 |
if(v:GetParent() == rotatebar[i]) then |
504 |
|
Kragenwar-3044 |
v:RotateBar(); |
505 |
|
Kragenwar-3044 |
end |
506 |
|
Kragenwar-3044 |
end |
507 |
|
Kragenwar-3044 |
end |
508 |
|
Kragenwar-3044 |
end |
509 |
|
Kragenwar-3044 |
|
510 |
|
Kragenwar-3044 |
-- Save Settings |
511 |
|
Kragenwar-3044 |
function ClassBar:SaveSettings() |
512 |
53 |
Kragenwar-3044 |
|
513 |
|
Kragenwar-3044 |
if (self.settings.preconf ~= nil) then |
514 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.preconf) do |
515 |
63 |
Kragenwar-3044 |
v.pos = { }; |
516 |
|
Kragenwar-3044 |
v.pos[1], v.pos[2] = self.windows[k]:GetPosition(); |
517 |
|
Kragenwar-3044 |
v.size = { self.windows[k].width, self.windows[k].height }; |
518 |
|
Kragenwar-3044 |
v.combat = { self.windows[k].incombat, self.windows[k].outcombat }; |
519 |
53 |
Kragenwar-3044 |
v.rotate = self.windows[k].rotate; |
520 |
|
Kragenwar-3044 |
end |
521 |
|
Kragenwar-3044 |
|
522 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.userconf) do |
523 |
|
Kragenwar-3044 |
v.name = self.windows[k].heading; |
524 |
63 |
Kragenwar-3044 |
v.pos = { }; |
525 |
|
Kragenwar-3044 |
v.pos[1], v.pos[2] = self.windows[k]:GetPosition(); |
526 |
|
Kragenwar-3044 |
v.size = { self.windows[k].width, self.windows[k].height }; |
527 |
|
Kragenwar-3044 |
v.combat = { self.windows[k].incombat, self.windows[k].outcombat }; |
528 |
53 |
Kragenwar-3044 |
end |
529 |
|
Kragenwar-3044 |
else |
530 |
|
Kragenwar-3044 |
for k,v in pairs(self.windows) do |
531 |
|
Kragenwar-3044 |
self.settings[k].x, self.settings[k].y = self.windows[k]:GetPosition(); |
532 |
|
Kragenwar-3044 |
self.settings[k].rotate = self.windows[k].rotate; |
533 |
|
Kragenwar-3044 |
end |
534 |
6 |
Kragenwar-3044 |
end |
535 |
87 |
Kragenwar-3044 |
|
536 |
6 |
Kragenwar-3044 |
local skilldata = { }; |
537 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
538 |
113 |
Kragenwar-3044 |
if (v:GetParent() == limbo or v.parent == nil) then |
539 |
48 |
Kragenwar-3044 |
skilldata[k] = { pos = {v.x, v.y}, parent = nil }; |
540 |
|
Kragenwar-3044 |
else |
541 |
|
Kragenwar-3044 |
skilldata[k] = { pos = {v.x, v.y}, parent = v.parent.index }; |
542 |
|
Kragenwar-3044 |
end |
543 |
6 |
Kragenwar-3044 |
end |
544 |
|
Kragenwar-3044 |
|
545 |
|
Kragenwar-3044 |
local multidata = { }; |
546 |
|
Kragenwar-3044 |
for k,v in pairs(self.multi) do |
547 |
113 |
Kragenwar-3044 |
if (v:GetParent() == limbo or v.parent == nil) then |
548 |
48 |
Kragenwar-3044 |
multidata[k] = { current = v.currentshortcut, layer = v.currentlayer, lock = v.lock, pos = { v.x, v.y }, parent = nil }; |
549 |
|
Kragenwar-3044 |
else |
550 |
|
Kragenwar-3044 |
multidata[k] = { current = v.currentshortcut, layer = v.currentlayer, lock = v.lock, pos = { v.x, v.y }, parent = v.parent.index }; |
551 |
|
Kragenwar-3044 |
end |
552 |
6 |
Kragenwar-3044 |
end |
553 |
|
Kragenwar-3044 |
|
554 |
87 |
Kragenwar-3044 |
local customdata = { }; |
555 |
|
Kragenwar-3044 |
local c = 0; |
556 |
82 |
Kragenwar-3044 |
if (self.customslots ~= nil) then |
557 |
|
Kragenwar-3044 |
for k,v in pairs(self.customslots) do |
558 |
87 |
Kragenwar-3044 |
if (v.GetParent() ~= limbo) then |
559 |
|
Kragenwar-3044 |
c = c+1; |
560 |
|
Kragenwar-3044 |
customdata[c] = { parent = v.parent.index, x = v.x, y = v.y, data = v.data, type = v.type }; |
561 |
|
Kragenwar-3044 |
settings.customslots[c] = settings.customslots[k]; |
562 |
|
Kragenwar-3044 |
self.customslots[c] = v; |
563 |
82 |
Kragenwar-3044 |
end |
564 |
|
Kragenwar-3044 |
end |
565 |
|
Kragenwar-3044 |
end |
566 |
|
Kragenwar-3044 |
|
567 |
6 |
Kragenwar-3044 |
for k,v in pairs(self.windows) do |
568 |
|
Kragenwar-3044 |
v:SetVisible(v.active); |
569 |
|
Kragenwar-3044 |
end |
570 |
|
Kragenwar-3044 |
|
571 |
58 |
Kragenwar-3044 |
--Turbine.Shell.WriteLine("KragenBars: " .. settings.class .. " Bars settings saved successfully."); |
572 |
6 |
Kragenwar-3044 |
|
573 |
|
Kragenwar-3044 |
settings.multidata = multidata; |
574 |
|
Kragenwar-3044 |
settings.skilldata = skilldata; |
575 |
87 |
Kragenwar-3044 |
settings.customslots = customdata; |
576 |
6 |
Kragenwar-3044 |
settings.classinfo = self.settings; |
577 |
|
Kragenwar-3044 |
SaveSettings(); |
578 |
|
Kragenwar-3044 |
end |
579 |
|
Kragenwar-3044 |
|
580 |
|
Kragenwar-3044 |
-- Refresh Player Level and Window and Skill States |
581 |
|
Kragenwar-3044 |
function ClassBar:RefreshBars() |
582 |
|
Kragenwar-3044 |
-- Refresh Player Level |
583 |
|
Kragenwar-3044 |
vars.playerlevel = vars.player:GetLevel(); |
584 |
|
Kragenwar-3044 |
|
585 |
53 |
Kragenwar-3044 |
if (self.settings.preconf ~= nil) then |
586 |
|
Kragenwar-3044 |
-- Refresh Windows |
587 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.preconf) do |
588 |
|
Kragenwar-3044 |
self.windows[k]:Refresh(v.active); |
589 |
|
Kragenwar-3044 |
end |
590 |
|
Kragenwar-3044 |
|
591 |
|
Kragenwar-3044 |
for k,v in pairs(self.settings.userconf) do |
592 |
|
Kragenwar-3044 |
self.windows[k]:Refresh(v.active); |
593 |
|
Kragenwar-3044 |
end |
594 |
|
Kragenwar-3044 |
else |
595 |
|
Kragenwar-3044 |
-- Refresh Windows |
596 |
|
Kragenwar-3044 |
for k,v in pairs(self.windows) do |
597 |
|
Kragenwar-3044 |
self.windows[k]:Refresh(self.settings[k].active); |
598 |
|
Kragenwar-3044 |
end |
599 |
6 |
Kragenwar-3044 |
end |
600 |
|
Kragenwar-3044 |
|
601 |
|
Kragenwar-3044 |
-- Refresh Skills |
602 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
603 |
|
Kragenwar-3044 |
self.skills[k]:Refresh(); |
604 |
|
Kragenwar-3044 |
end |
605 |
|
Kragenwar-3044 |
end |
606 |
|
Kragenwar-3044 |
|
607 |
|
Kragenwar-3044 |
function ClassBar:DefaultPosition() |
608 |
|
Kragenwar-3044 |
-- Refresh Windows |
609 |
|
Kragenwar-3044 |
for k,v in pairs(self.windows) do |
610 |
|
Kragenwar-3044 |
self.windows[k]:DefaultPosition(); |
611 |
|
Kragenwar-3044 |
end |
612 |
|
Kragenwar-3044 |
end |
613 |
|
Kragenwar-3044 |
|
614 |
|
Kragenwar-3044 |
function ClassBar:RecalculateBorders() |
615 |
|
Kragenwar-3044 |
-- Refresh Skills |
616 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
617 |
|
Kragenwar-3044 |
v.border:SetPosition(v:PointToScreen(1, 1)); |
618 |
|
Kragenwar-3044 |
end |
619 |
|
Kragenwar-3044 |
end |
620 |
|
Kragenwar-3044 |
|
621 |
|
Kragenwar-3044 |
function ClassBar:CombatChange(combat) |
622 |
|
Kragenwar-3044 |
for k,v in pairs(self.skills) do |
623 |
|
Kragenwar-3044 |
self.skills[k]:RefreshCombat(); |
624 |
|
Kragenwar-3044 |
end |
625 |
|
Kragenwar-3044 |
|
626 |
|
Kragenwar-3044 |
for k,v in pairs(self.multi) do |
627 |
|
Kragenwar-3044 |
self.multi[k]:RefreshCombat(); |
628 |
|
Kragenwar-3044 |
end |
629 |
63 |
Kragenwar-3044 |
|
630 |
|
Kragenwar-3044 |
for k,v in pairs(self.bars) do |
631 |
|
Kragenwar-3044 |
self.bars[k]:RefreshCombat(); |
632 |
|
Kragenwar-3044 |
end |
633 |
53 |
Kragenwar-3044 |
end |
634 |
|
Kragenwar-3044 |
|
635 |
94 |
Kragenwar-3044 |
function ClassBar:EditBars(bol) |
636 |
|
Kragenwar-3044 |
self.edit = bol; |
637 |
|
Kragenwar-3044 |
if (bol) then |
638 |
|
Kragenwar-3044 |
for k,v in pairs(self.bars) do |
639 |
95 |
Kragenwar-3044 |
for key,value in pairs(self.skills) do |
640 |
83 |
Kragenwar-3044 |
value:SetOpacity(1); |
641 |
|
Kragenwar-3044 |
value.edit = true; |
642 |
|
Kragenwar-3044 |
value:ResetQuickslot(); |
643 |
|
Kragenwar-3044 |
end |
644 |
95 |
Kragenwar-3044 |
for key,value in pairs(self.multi) do |
645 |
|
Kragenwar-3044 |
value:SetOpacity(1); |
646 |
|
Kragenwar-3044 |
value.edit = true; |
647 |
|
Kragenwar-3044 |
value:ResetQuickslot(); |
648 |
|
Kragenwar-3044 |
end |
649 |
88 |
Kragenwar-3044 |
v.parent.edit = true; |
650 |
95 |
Kragenwar-3044 |
v.parent:SetVisible(v.parent.active); |
651 |
88 |
Kragenwar-3044 |
v:SetVisible(true); |
652 |
94 |
Kragenwar-3044 |
end |
653 |
|
Kragenwar-3044 |
else |
654 |
|
Kragenwar-3044 |
for k,v in pairs(self.bars) do |
655 |
95 |
Kragenwar-3044 |
for key,value in pairs(self.skills) do |
656 |
83 |
Kragenwar-3044 |
value.edit = false; |
657 |
|
Kragenwar-3044 |
value:Refresh(); |
658 |
|
Kragenwar-3044 |
end |
659 |
95 |
Kragenwar-3044 |
for key,value in pairs(self.multi) do |
660 |
|
Kragenwar-3044 |
value.edit = false; |
661 |
|
Kragenwar-3044 |
value:Refresh(); |
662 |
|
Kragenwar-3044 |
end |
663 |
88 |
Kragenwar-3044 |
v.parent.edit = false; |
664 |
|
Kragenwar-3044 |
v:RefreshCombat(); |
665 |
63 |
Kragenwar-3044 |
end |
666 |
|
Kragenwar-3044 |
end |
667 |
|
Kragenwar-3044 |
end |
668 |
|
Kragenwar-3044 |
|
669 |
53 |
Kragenwar-3044 |
function ClassBar:CreateBar() |
670 |
|
Kragenwar-3044 |
local name = "UserBar"..tostring(settings.userbars + 1); |
671 |
|
Kragenwar-3044 |
local v = nil; |
672 |
|
Kragenwar-3044 |
|
673 |
|
Kragenwar-3044 |
settings.userbars = settings.userbars + 1; |
674 |
|
Kragenwar-3044 |
self.barcount = self.barcount + 1; |
675 |
|
Kragenwar-3044 |
|
676 |
63 |
Kragenwar-3044 |
v = { id = self.barcount, name = name, defpos = {0,0}, size = {1, 1} , pos = {800, 200+(35*settings.userbars)}, combat = {true,true}, active = true }; |
677 |
|
Kragenwar-3044 |
self.windows[name] = SkillWindow(v); |
678 |
53 |
Kragenwar-3044 |
self.bars[name] = SkillBar(self.windows[name], 1, 1, 1, 1, true, false); |
679 |
87 |
Kragenwar-3044 |
self.bars[name].index = name; |
680 |
53 |
Kragenwar-3044 |
|
681 |
|
Kragenwar-3044 |
self.settings.userconf[name] = v; |
682 |
63 |
Kragenwar-3044 |
self.barlist[v.id] = name; |
683 |
|
Kragenwar-3044 |
|
684 |
|
Kragenwar-3044 |
return v.id; |
685 |
53 |
Kragenwar-3044 |
end |
686 |
|
Kragenwar-3044 |
|
687 |
63 |
Kragenwar-3044 |
function ClassBar:ResizeBar(key, size) |
688 |
|
Kragenwar-3044 |
self.bars[key]:ChangeSize(size[1], size[2]); |
689 |
|
Kragenwar-3044 |
end |
690 |
|
Kragenwar-3044 |
|
691 |
53 |
Kragenwar-3044 |
function ClassBar:RenameBar(key, name) |
692 |
|
Kragenwar-3044 |
if (self.windows[key] ~= nil) then |
693 |
|
Kragenwar-3044 |
self.windows[key]:SetName(name); |
694 |
|
Kragenwar-3044 |
self.settings.userconf[key].name = name; |
695 |
|
Kragenwar-3044 |
end |
696 |
|
Kragenwar-3044 |
end |
697 |
|
Kragenwar-3044 |
|
698 |
63 |
Kragenwar-3044 |
function ClassBar:BarCombat(key, num) |
699 |
|
Kragenwar-3044 |
self.windows[key]:SetCombat(num ~= 3, num ~= 2); |
700 |
|
Kragenwar-3044 |
self:CombatChange(); |
701 |
|
Kragenwar-3044 |
end |
702 |
|
Kragenwar-3044 |
|
703 |
53 |
Kragenwar-3044 |
function ClassBar:DeleteBar(key) |
704 |
|
Kragenwar-3044 |
local id = nil |
705 |
|
Kragenwar-3044 |
|
706 |
63 |
Kragenwar-3044 |
self.barcount = 0; |
707 |
|
Kragenwar-3044 |
|
708 |
|
Kragenwar-3044 |
if (self.windows[key] ~= nil and self.settings.userconf[key] ~= nil) then |
709 |
53 |
Kragenwar-3044 |
id = self.settings.userconf[key].id; |
710 |
|
Kragenwar-3044 |
self.bars[key]:ChangeSize(0,0); |
711 |
|
Kragenwar-3044 |
self.bars[key]:SetVisible(false); |
712 |
63 |
Kragenwar-3044 |
self.windows[key]:Trash(); |
713 |
53 |
Kragenwar-3044 |
self.windows[key] = nil; |
714 |
|
Kragenwar-3044 |
self.bars[key] = nil; |
715 |
|
Kragenwar-3044 |
self.settings.userconf[key] = nil; |
716 |
|
Kragenwar-3044 |
|
717 |
|
Kragenwar-3044 |
self.barlist = { }; |
718 |
63 |
Kragenwar-3044 |
|
719 |
|
Kragenwar-3044 |
for k,v in pairs (self.settings.preconf) do |
720 |
|
Kragenwar-3044 |
self.barlist[v.id] = k; |
721 |
|
Kragenwar-3044 |
self.barcount = self.barcount + 1; |
722 |
|
Kragenwar-3044 |
end |
723 |
|
Kragenwar-3044 |
|
724 |
53 |
Kragenwar-3044 |
for k,v in pairs (self.settings.userconf) do |
725 |
|
Kragenwar-3044 |
if (v.id > id) then |
726 |
63 |
Kragenwar-3044 |
v.id = v.id - 1; |
727 |
53 |
Kragenwar-3044 |
end |
728 |
63 |
Kragenwar-3044 |
self.barlist[v.id] = k; |
729 |
|
Kragenwar-3044 |
self.barcount = self.barcount + 1; |
730 |
53 |
Kragenwar-3044 |
end |
731 |
|
Kragenwar-3044 |
|
732 |
74 |
Valdacil-446 |
-- self.setupbb["checkboxbb"..tostring(self.barcount+1)]:SetVisible(false); |
733 |
53 |
Kragenwar-3044 |
end |
734 |
|
Kragenwar-3044 |
end |