madcatzinc@0
|
1 --~ Warcraft Plugin for Cyborg MMO7
|
madcatzinc@0
|
2 --~ Filename: WowObjects.lua
|
madcatzinc@0
|
3 --~ Description: Warcraft in game object models
|
madcatzinc@0
|
4 --~ Copyright (C) 2012 Mad Catz Inc.
|
madcatzinc@0
|
5 --~ Author: Christopher Hooks
|
madcatzinc@0
|
6
|
madcatzinc@0
|
7 --~ This program is free software; you can redistribute it and/or
|
madcatzinc@0
|
8 --~ modify it under the terms of the GNU General Public License
|
madcatzinc@0
|
9 --~ as published by the Free Software Foundation; either version 2
|
madcatzinc@0
|
10 --~ of the License, or (at your option) any later version.
|
madcatzinc@0
|
11
|
madcatzinc@0
|
12 --~ This program is distributed in the hope that it will be useful,
|
madcatzinc@0
|
13 --~ but WITHOUT ANY WARRANTY; without even the implied warranty of
|
madcatzinc@0
|
14 --~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
madcatzinc@0
|
15 --~ GNU General Public License for more details.
|
madcatzinc@0
|
16
|
madcatzinc@0
|
17 --~ You should have received a copy of the GNU General Public License
|
madcatzinc@0
|
18 --~ along with this program; if not, write to the Free Software
|
madcatzinc@0
|
19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
madcatzinc@0
|
20
|
madcatzinc@4
|
21 CyborgMMO_WowObject = {
|
madcatzinc@0
|
22 new = function(type, detail, subdetail)
|
madcatzinc@0
|
23 local self = {};
|
madcatzinc@0
|
24 self.Texture = nil;
|
madcatzinc@0
|
25 self.Name = "NoName";
|
madcatzinc@0
|
26 self.Type = type;
|
madcatzinc@0
|
27 self.Detail = detail;
|
madcatzinc@0
|
28 self.Subdetail = subdetail;
|
madcatzinc@0
|
29
|
madcatzinc@0
|
30
|
madcatzinc@0
|
31 -- Methods --
|
madcatzinc@0
|
32 self.DoAction = function()
|
madcatzinc@0
|
33 msg("Nothing To Do");
|
madcatzinc@0
|
34 end
|
madcatzinc@0
|
35
|
madcatzinc@0
|
36 self.Pickup = function()
|
madcatzinc@0
|
37 msg("Pick up Item");
|
madcatzinc@0
|
38 end
|
madcatzinc@0
|
39
|
madcatzinc@0
|
40 self.SetBinding = function(key)
|
madcatzinc@0
|
41 end
|
madcatzinc@0
|
42
|
madcatzinc@0
|
43 self.PlaySound = function()
|
madcatzinc@0
|
44 PlaySound("igAbilityIconDrop");
|
madcatzinc@0
|
45 end
|
madcatzinc@0
|
46
|
madcatzinc@0
|
47 return self;
|
madcatzinc@0
|
48 end,
|
madcatzinc@0
|
49
|
madcatzinc@0
|
50 ClearBinding = function(key)
|
madcatzinc@4
|
51 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(CyborgMMO_WowObject.DoNothing);
|
madcatzinc@0
|
52 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then
|
madcatzinc@0
|
53 msg("Failed to bind companion to button click");
|
madcatzinc@0
|
54 end
|
madcatzinc@0
|
55 end,
|
madcatzinc@0
|
56
|
madcatzinc@0
|
57 DoNothing = function()
|
madcatzinc@0
|
58 end,
|
madcatzinc@0
|
59
|
madcatzinc@0
|
60 Load = function(object)
|
madcatzinc@0
|
61 if("item" == type) then
|
madcatzinc@4
|
62 object = CyborgMMO_WowItem.Load(Object)
|
madcatzinc@0
|
63 elseif("macro" == type) then
|
madcatzinc@4
|
64 object = CyborgMMO_WowMacro.Load(object)
|
madcatzinc@0
|
65 elseif("spell" == type) then
|
madcatzinc@4
|
66 object = CyborgMMO_WowSpell.Load(object)
|
madcatzinc@0
|
67 elseif("petaction" == type) then
|
madcatzinc@4
|
68 object = CyborgMMO_WowSpell.Load(object)
|
madcatzinc@0
|
69 --elseif("merchant"== type) then
|
madcatzinc@0
|
70 --object = SlotMerchant.new(detail,subdetail)
|
madcatzinc@0
|
71 elseif("companion" == type) then
|
madcatzinc@4
|
72 object = CyborgMMO_WowCompanion.Load(object)
|
madcatzinc@0
|
73 elseif("equipmentset" == type) then
|
madcatzinc@4
|
74 object = CyborgMMO_WowEquipmentSet.Load(object)
|
madcatzinc@0
|
75 else
|
madcatzinc@4
|
76 object = CyborgMMO_WowObject.new(type,detail, subdetail)
|
madcatzinc@0
|
77 end
|
madcatzinc@0
|
78 return object;
|
madcatzinc@0
|
79 end,
|
madcatzinc@0
|
80
|
madcatzinc@0
|
81 -- Static Methods --
|
madcatzinc@0
|
82 Create = function(objectType, detail, subdetail)
|
madcatzinc@0
|
83 local object;
|
madcatzinc@0
|
84 if("item" == objectType) then
|
madcatzinc@4
|
85 object = CyborgMMO_WowItem.new(detail,subdetail)
|
madcatzinc@0
|
86 elseif("macro" == objectType) then
|
madcatzinc@4
|
87 object = CyborgMMO_WowMacro.new(detail)
|
madcatzinc@0
|
88 elseif("spell" == objectType) then
|
madcatzinc@4
|
89 object = CyborgMMO_WowSpell.new(objectType, detail,subdetail)
|
madcatzinc@0
|
90 elseif("petaction" == objectType) then
|
madcatzinc@4
|
91 object = CyborgMMO_WowSpell.new(objectType, detail,subdetail)
|
madcatzinc@0
|
92 elseif("merchant"== objectType) then
|
madcatzinc@4
|
93 object = CyborgMMO_SlotMerchant.new(detail,subdetail)
|
madcatzinc@0
|
94 elseif("companion" == objectType) then
|
madcatzinc@4
|
95 object = CyborgMMO_WowCompanion.new(detail,subdetail)
|
madcatzinc@0
|
96 elseif("equipmentset" == objectType) then
|
madcatzinc@4
|
97 object = CyborgMMO_WowEquipmentSet.new(objectType,detail,subdetail)
|
madcatzinc@0
|
98 elseif("callback" == objectType) then
|
madcatzinc@4
|
99 object = CyborgMMO_WowCallback.new(detail);
|
madcatzinc@0
|
100 else
|
madcatzinc@4
|
101 object = CyborgMMO_WowObject.new(objectType,detail, subdetail)
|
madcatzinc@0
|
102 end
|
madcatzinc@0
|
103
|
madcatzinc@0
|
104 return object;
|
madcatzinc@0
|
105 end
|
madcatzinc@0
|
106 }
|
madcatzinc@0
|
107
|
madcatzinc@0
|
108 local CallbackCursor = nil;
|
madcatzinc@0
|
109
|
madcatzinc@4
|
110 CyborgMMO_CallbackIcons = {
|
madcatzinc@0
|
111 new = function(self)
|
madcatzinc@0
|
112 self.point, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs = self:GetPoint();
|
madcatzinc@0
|
113 --self:SetPoint(self.point, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs);
|
madcatzinc@0
|
114 self.strata = self:GetFrameStrata();
|
madcatzinc@4
|
115 self.wowObject = CyborgMMO_WowCallback.new(string.gsub(self:GetName(), self:GetParent():GetName(), "",1))
|
madcatzinc@0
|
116 self.wowObject.SetTextures(self);
|
madcatzinc@0
|
117 self:RegisterForDrag("LeftButton","RightButton")
|
madcatzinc@0
|
118 self:SetResizable(false);
|
madcatzinc@0
|
119
|
madcatzinc@0
|
120 self.OnClick = function()
|
madcatzinc@0
|
121 self.wowObject.DoAction();
|
madcatzinc@0
|
122 end
|
madcatzinc@0
|
123
|
madcatzinc@0
|
124
|
madcatzinc@0
|
125 self.DragStart = function()
|
madcatzinc@0
|
126 self:SetMovable(true);
|
madcatzinc@0
|
127 self:StartMoving();
|
madcatzinc@0
|
128 self.isMoving = true;
|
madcatzinc@0
|
129 self:SetFrameStrata("TOOLTIP")
|
madcatzinc@0
|
130 end
|
madcatzinc@0
|
131
|
madcatzinc@0
|
132 self.DragStop = function()
|
madcatzinc@0
|
133
|
madcatzinc@0
|
134 self:SetFrameStrata(self.strata);
|
madcatzinc@0
|
135 self.isMoving = false;
|
madcatzinc@0
|
136 self:SetMovable(false);
|
madcatzinc@0
|
137 self:StopMovingOrSizing();
|
madcatzinc@0
|
138
|
madcatzinc@0
|
139 self:ClearAllPoints();
|
madcatzinc@0
|
140 self:SetPoint(self.point, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs);
|
madcatzinc@0
|
141 local x, y = GetCursorPosition();
|
madcatzinc@4
|
142 CyborgMMO_RatPageController.Instance().CallbackDropped(self)
|
madcatzinc@0
|
143 end
|
madcatzinc@0
|
144
|
madcatzinc@0
|
145 return self;
|
madcatzinc@0
|
146 end
|
madcatzinc@0
|
147 }
|
madcatzinc@0
|
148
|
madcatzinc@4
|
149 CyborgMMO_WowCallback = {
|
madcatzinc@0
|
150 new = function(callbackName)
|
madcatzinc@4
|
151 local self = CyborgMMO_WowObject.new("callback", callbackName, "");
|
madcatzinc@0
|
152 self.CallbackName = callbackName;
|
madcatzinc@0
|
153 self.Texture = "Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga"
|
madcatzinc@0
|
154
|
madcatzinc@0
|
155 self.SetTextures = function(buttonFrame)
|
madcatzinc@4
|
156 msg("TextureName = "..self.CallbackName)
|
madcatzinc@0
|
157 buttonFrame:SetNormalTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga")
|
madcatzinc@0
|
158 buttonFrame:SetPushedTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Down.tga")
|
madcatzinc@0
|
159 buttonFrame:SetHighlightTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Over.tga")
|
madcatzinc@0
|
160 end
|
madcatzinc@0
|
161
|
madcatzinc@0
|
162 self.DoAction = function()
|
madcatzinc@4
|
163 local action = CyborgMMO_CallbackFactory.Instance().GetCallback(self.CallbackName)
|
madcatzinc@0
|
164 msg("calling callback:- "..self.CallbackName);
|
madcatzinc@0
|
165 action();
|
madcatzinc@0
|
166
|
madcatzinc@0
|
167 end
|
madcatzinc@0
|
168
|
madcatzinc@0
|
169 self.PickupCallback = function()
|
madcatzinc@0
|
170
|
madcatzinc@0
|
171 local slot = nil;
|
madcatzinc@4
|
172 local observers = CyborgMMO_RatPageModel.Instance().GetAllObservers();
|
madcatzinc@0
|
173 for i = 1, (# observers) do
|
madcatzinc@0
|
174 if(MouseIsOver(observers[i])) then
|
madcatzinc@0
|
175 slot = observers[i];
|
madcatzinc@0
|
176 break;
|
madcatzinc@0
|
177 end
|
madcatzinc@0
|
178 end
|
madcatzinc@0
|
179 slot:SetNormalTexture(slot.UnCheckedTexture)
|
madcatzinc@0
|
180 end
|
madcatzinc@0
|
181
|
madcatzinc@0
|
182
|
madcatzinc@0
|
183 self.ClickHandler = function(self, button, down)
|
madcatzinc@0
|
184 msg("click handler");
|
madcatzinc@0
|
185 CallbackCursor:StopMoving();
|
madcatzinc@0
|
186 CallbackCursor:Hide();
|
madcatzinc@0
|
187 end
|
madcatzinc@0
|
188
|
madcatzinc@0
|
189 self.Pickup = function()
|
madcatzinc@0
|
190 self.PlaySound()
|
madcatzinc@0
|
191 ClearCursor();
|
madcatzinc@0
|
192 self.PickupCallback();
|
madcatzinc@0
|
193
|
madcatzinc@0
|
194 end
|
madcatzinc@0
|
195
|
madcatzinc@0
|
196
|
madcatzinc@0
|
197 self.SetBinding = function(key)
|
madcatzinc@4
|
198 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction);
|
madcatzinc@4
|
199 if(1 ~= SetOverrideBindingClick(CyborgMMO_CallbackFactory.Instance().Frame, true, key, name, "LeftButton")) then
|
madcatzinc@0
|
200 msg("Failed to Bind modeChange");
|
madcatzinc@0
|
201 end
|
madcatzinc@0
|
202 end
|
madcatzinc@0
|
203
|
madcatzinc@0
|
204 return self;
|
madcatzinc@0
|
205 end
|
madcatzinc@0
|
206 }
|
madcatzinc@0
|
207
|
madcatzinc@0
|
208 -- WowItem Class --
|
madcatzinc@0
|
209
|
madcatzinc@4
|
210 CyborgMMO_WowItem = {
|
madcatzinc@0
|
211 new = function(number, itemID)
|
madcatzinc@4
|
212 local self = CyborgMMO_WowObject.new("item", number, itemID); -- base class
|
madcatzinc@0
|
213 -- Set all the item info. --
|
madcatzinc@0
|
214 self.Name,
|
madcatzinc@0
|
215 self.Link,
|
madcatzinc@0
|
216 self.Rarity,
|
madcatzinc@0
|
217 self.Level,
|
madcatzinc@0
|
218 self.MinLevel,
|
madcatzinc@0
|
219 self.Type,
|
madcatzinc@0
|
220 self.SubType,
|
madcatzinc@0
|
221 self.StackCount,
|
madcatzinc@0
|
222 self.EquipLoc,
|
madcatzinc@0
|
223 self.Texture,
|
madcatzinc@0
|
224 self.SellPrice = GetItemInfo(itemID);
|
madcatzinc@0
|
225
|
madcatzinc@0
|
226 -- override method --
|
madcatzinc@0
|
227 self.DoAction = function()
|
madcatzinc@0
|
228 msg("Use Item");
|
madcatzinc@0
|
229 end
|
madcatzinc@0
|
230
|
madcatzinc@0
|
231 -- override method --
|
madcatzinc@0
|
232 self.Pickup = function()
|
madcatzinc@0
|
233 self.PlaySound()
|
madcatzinc@0
|
234 ClearCursor();
|
madcatzinc@0
|
235 --SetCursor(self.Texture);
|
madcatzinc@0
|
236 return PickupItem(self.Link);
|
madcatzinc@0
|
237 end
|
madcatzinc@0
|
238
|
madcatzinc@0
|
239 self.SetBinding = function(key)
|
madcatzinc@4
|
240 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "ITEM "..self.Name);
|
madcatzinc@0
|
241 end
|
madcatzinc@0
|
242
|
madcatzinc@0
|
243 return self;
|
madcatzinc@0
|
244 end,
|
madcatzinc@0
|
245 }
|
madcatzinc@0
|
246
|
madcatzinc@0
|
247 -- WowSpell Class --
|
madcatzinc@0
|
248
|
madcatzinc@4
|
249 CyborgMMO_WowSpell = {
|
madcatzinc@0
|
250 new = function(type, spellbookID, spellbook)
|
madcatzinc@4
|
251 local self = CyborgMMO_WowObject.new(type, spellbookID, spellbook) -- base class
|
madcatzinc@0
|
252 self.SpellbookID = spellbookID;
|
madcatzinc@0
|
253 self.Spellbook = spellbook;
|
madcatzinc@0
|
254 self.Name, self.Rank = GetSpellBookItemName(spellbookID, spellbook);
|
madcatzinc@0
|
255 self.Texture = GetSpellBookItemTexture(spellbookID, spellbook);
|
madcatzinc@0
|
256 self.Type = type;
|
madcatzinc@0
|
257
|
madcatzinc@0
|
258
|
madcatzinc@0
|
259 -- override method --
|
madcatzinc@0
|
260 self.DoAction = function()
|
madcatzinc@0
|
261 msg("Cast Spell");
|
madcatzinc@0
|
262 end
|
madcatzinc@0
|
263
|
madcatzinc@0
|
264 -- override method --
|
madcatzinc@0
|
265 self.Pickup = function()
|
madcatzinc@0
|
266 self.PlaySound()
|
madcatzinc@0
|
267 ClearCursor();
|
madcatzinc@0
|
268 --SetCursor(self.Texture);
|
madcatzinc@0
|
269 return PickupSpellBookItem(self.SpellbookID, self.Spellbook);
|
madcatzinc@0
|
270 end
|
madcatzinc@0
|
271
|
madcatzinc@0
|
272 self.SetBinding = function(key)
|
madcatzinc@0
|
273 msg("Binding to key "..key)
|
madcatzinc@0
|
274 self.Key = key
|
madcatzinc@4
|
275 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, self.Key, self.Type.." "..self.Name);
|
madcatzinc@0
|
276 end
|
madcatzinc@0
|
277
|
madcatzinc@0
|
278 return self;
|
madcatzinc@0
|
279
|
madcatzinc@0
|
280 end,
|
madcatzinc@0
|
281
|
madcatzinc@0
|
282 Load = function(object)
|
madcatzinc@0
|
283 local o = WowSpell.new(object.Type, object.Detail, object.Subdetail);
|
madcatzinc@0
|
284 o.Name = object.Name;
|
madcatzinc@0
|
285 o.Texture = object.Texture;
|
madcatzinc@0
|
286 return o;
|
madcatzinc@0
|
287 end
|
madcatzinc@0
|
288 }
|
madcatzinc@0
|
289
|
madcatzinc@0
|
290 -- WowMacro Class --
|
madcatzinc@0
|
291
|
madcatzinc@4
|
292 CyborgMMO_WowMacro = {
|
madcatzinc@0
|
293 new = function(index)
|
madcatzinc@4
|
294 local self = CyborgMMO_WowObject.new("macro", index, nil); -- base class
|
madcatzinc@0
|
295 -- Set all the item info. --
|
madcatzinc@0
|
296 self.Name,
|
madcatzinc@0
|
297 self.Texture,
|
madcatzinc@0
|
298 self.Body,
|
madcatzinc@0
|
299 self.isLocal = GetMacroInfo(index);
|
madcatzinc@0
|
300 self.Index = index;
|
madcatzinc@0
|
301
|
madcatzinc@0
|
302 -- override method --
|
madcatzinc@0
|
303 self.DoAction = function()
|
madcatzinc@0
|
304 msg("Use Item");
|
madcatzinc@0
|
305 end
|
madcatzinc@0
|
306
|
madcatzinc@0
|
307 -- override method --
|
madcatzinc@0
|
308 self.Pickup = function()
|
madcatzinc@0
|
309 self.PlaySound()
|
madcatzinc@0
|
310 ClearCursor();
|
madcatzinc@0
|
311 --SetCursor(self.Texture);
|
madcatzinc@0
|
312 return PickupMacro(self.Index);
|
madcatzinc@0
|
313 end
|
madcatzinc@0
|
314
|
madcatzinc@0
|
315 self.SetBinding = function(key)
|
madcatzinc@0
|
316 self.Key = key;
|
madcatzinc@4
|
317 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "MACRO "..self.Index);
|
madcatzinc@0
|
318 end
|
madcatzinc@0
|
319
|
madcatzinc@0
|
320 return self;
|
madcatzinc@0
|
321 end,
|
madcatzinc@0
|
322 }
|
madcatzinc@0
|
323
|
madcatzinc@0
|
324
|
madcatzinc@0
|
325 -- WowCompanion Class --
|
madcatzinc@0
|
326
|
madcatzinc@4
|
327 CyborgMMO_WowCompanion = {
|
madcatzinc@0
|
328 new = function(index, SubType)
|
madcatzinc@4
|
329 local self = CyborgMMO_WowObject.new("companion", index, SubType); -- base class
|
madcatzinc@0
|
330 -- Set all the item info. --
|
madcatzinc@0
|
331 self.Id, self.Name, self.SpellId, self.Texture, self.isSummoned = GetCompanionInfo(SubType, index);
|
madcatzinc@0
|
332 self.SubType = SubType;
|
madcatzinc@0
|
333 self.index = index;
|
madcatzinc@0
|
334 -- override method --
|
madcatzinc@0
|
335 self.DoAction = function()
|
madcatzinc@0
|
336 if((self.SubType == "MOUNT") and IsMounted()) then
|
madcatzinc@0
|
337 Dismount();
|
madcatzinc@0
|
338 else
|
madcatzinc@0
|
339 CallCompanion(self.SubType, self.index);
|
madcatzinc@0
|
340 end
|
madcatzinc@0
|
341 end
|
madcatzinc@0
|
342
|
madcatzinc@0
|
343 -- override method --
|
madcatzinc@0
|
344 self.Pickup = function()
|
madcatzinc@0
|
345 self.PlaySound()
|
madcatzinc@0
|
346 return PickupCompanion(self.SubType, self.index);
|
madcatzinc@0
|
347 end
|
madcatzinc@0
|
348
|
madcatzinc@0
|
349 self.SetBinding = function(key)
|
madcatzinc@0
|
350 self.Key = key
|
madcatzinc@4
|
351 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction);
|
madcatzinc@0
|
352 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then
|
madcatzinc@0
|
353 msg("Failed to bind companion to button click");
|
madcatzinc@0
|
354 end
|
madcatzinc@0
|
355 --SetOverrideBinding(hiddenModeChanger, true, key, "MACRO "..self.Index);
|
madcatzinc@0
|
356 end
|
madcatzinc@0
|
357
|
madcatzinc@0
|
358 return self;
|
madcatzinc@0
|
359 end,
|
madcatzinc@0
|
360
|
madcatzinc@0
|
361 Load = function(object)
|
madcatzinc@0
|
362 local o = WowCompanion.new(object.index, object.SubType);
|
madcatzinc@0
|
363 return o;
|
madcatzinc@0
|
364 end
|
madcatzinc@0
|
365 }
|
madcatzinc@0
|
366
|
madcatzinc@0
|
367 -- WowMerchant Class --
|
madcatzinc@4
|
368 CyborgMMO_WowMerchant = {
|
madcatzinc@0
|
369 new = function(index)
|
madcatzinc@4
|
370 local self = CyborgMMO_WowObject.new("macro", index, nil); -- base class
|
madcatzinc@0
|
371 -- Set all the item info. --
|
madcatzinc@0
|
372 self.Name,
|
madcatzinc@0
|
373 self.Texture,
|
madcatzinc@0
|
374 self.Price,
|
madcatzinc@0
|
375 self.Quantity,
|
madcatzinc@0
|
376 self.NumAvailable,
|
madcatzinc@0
|
377 self.IsUsable,
|
madcatzinc@0
|
378 self.ExtendedCost = GetMerchantItemInfo(index);
|
madcatzinc@0
|
379 self.Index = index;
|
madcatzinc@0
|
380
|
madcatzinc@0
|
381 -- override method --
|
madcatzinc@0
|
382 self.DoAction = function()
|
madcatzinc@0
|
383 msg("Use Item");
|
madcatzinc@0
|
384 end
|
madcatzinc@0
|
385
|
madcatzinc@0
|
386 -- override method --
|
madcatzinc@0
|
387 self.Pickup = function()
|
madcatzinc@0
|
388 self.PlaySound()
|
madcatzinc@0
|
389 ClearCursor();
|
madcatzinc@0
|
390 --SetCursor(self.Texture);
|
madcatzinc@0
|
391 return PickupMerchantItem(self.Index);
|
madcatzinc@0
|
392 end
|
madcatzinc@0
|
393
|
madcatzinc@0
|
394 self.SetBinding = function(key)
|
madcatzinc@0
|
395 self.Key = key
|
madcatzinc@4
|
396 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "MERCHANT "..self.Index);
|
madcatzinc@0
|
397 end
|
madcatzinc@0
|
398
|
madcatzinc@0
|
399 return self;
|
madcatzinc@0
|
400 end,
|
madcatzinc@0
|
401 }
|
madcatzinc@0
|
402
|
madcatzinc@0
|
403 -- WowEquipmentSet Class --
|
madcatzinc@4
|
404 CyborgMMO_WowEquipmentSet = {
|
madcatzinc@0
|
405 new = function(objectType, name, index)
|
madcatzinc@4
|
406 local self = CyborgMMO_WowObject.new(objectType, name, index); -- base class
|
madcatzinc@0
|
407 -- Set all the item info. --
|
madcatzinc@0
|
408 texture, lessIndex = GetEquipmentSetInfoByName(name);
|
madcatzinc@0
|
409 self.Texture = "Interface\\Icons\\"..texture;
|
madcatzinc@0
|
410 self.Name = name
|
madcatzinc@0
|
411 self.Index = lessIndex+1;
|
madcatzinc@0
|
412
|
madcatzinc@0
|
413 -- override method --
|
madcatzinc@0
|
414 self.DoAction = function()
|
madcatzinc@0
|
415 UseEquipmentSet(self.Name);
|
madcatzinc@0
|
416 end
|
madcatzinc@0
|
417
|
madcatzinc@0
|
418 -- override method --
|
madcatzinc@0
|
419 self.Pickup = function()
|
madcatzinc@0
|
420 self.PlaySound()
|
madcatzinc@0
|
421 ClearCursor();
|
madcatzinc@0
|
422 --SetCursor(self.Texture);
|
madcatzinc@0
|
423 return PickupEquipmentSetByName(self.Name);
|
madcatzinc@0
|
424 end
|
madcatzinc@0
|
425
|
madcatzinc@0
|
426 self.SetBinding = function(key)
|
madcatzinc@0
|
427 self.Key = key
|
madcatzinc@4
|
428 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction);
|
madcatzinc@0
|
429 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then
|
madcatzinc@0
|
430 msg("Failed to bind companion to button click");
|
madcatzinc@0
|
431 end
|
madcatzinc@0
|
432 end
|
madcatzinc@0
|
433
|
madcatzinc@0
|
434 return self;
|
madcatzinc@0
|
435 end,
|
madcatzinc@0
|
436 }
|
madcatzinc@0
|
437
|
madcatzinc@0
|
438
|
madcatzinc@0
|
439 -- End Of WowObjects --
|