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