comparison WowObjects.lua @ 13:6cb9a2936580

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