Mercurial > wow > cyborg-mmo7
comparison WowObjects.lua @ 4:d186f8cd5000
Renamed functions to avoid conflicts
| author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
|---|---|
| date | Mon, 28 May 2012 15:54:52 +0000 |
| parents | bf9220814fb5 |
| children | 6cb9a2936580 |
comparison
equal
deleted
inserted
replaced
| 3:461854a2849c | 4:d186f8cd5000 |
|---|---|
| 16 | 16 |
| 17 --~ You should have received a copy of the GNU General Public License | 17 --~ You should have received a copy of the GNU General Public License |
| 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 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; |
| 46 | 46 |
| 47 return self; | 47 return self; |
| 48 end, | 48 end, |
| 49 | 49 |
| 50 ClearBinding = function(key) | 50 ClearBinding = function(key) |
| 51 local buttonFrame, parentFrame, name = CallbackFactory.Instance().AddCallback(WowObject.DoNothing); | 51 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(CyborgMMO_WowObject.DoNothing); |
| 52 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then | 52 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then |
| 53 msg("Failed to bind companion to button click"); | 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("item" == type) then |
| 62 object = WowItem.Load(Object) | 62 object = CyborgMMO_WowItem.Load(Object) |
| 63 elseif("macro" == type) then | 63 elseif("macro" == type) then |
| 64 object = WowMacro.Load(object) | 64 object = CyborgMMO_WowMacro.Load(object) |
| 65 elseif("spell" == type) then | 65 elseif("spell" == type) then |
| 66 object = WowSpell.Load(object) | 66 object = CyborgMMO_WowSpell.Load(object) |
| 67 elseif("petaction" == type) then | 67 elseif("petaction" == type) then |
| 68 object = WowSpell.Load(object) | 68 object = CyborgMMO_WowSpell.Load(object) |
| 69 --elseif("merchant"== type) then | 69 --elseif("merchant"== type) then |
| 70 --object = SlotMerchant.new(detail,subdetail) | 70 --object = SlotMerchant.new(detail,subdetail) |
| 71 elseif("companion" == type) then | 71 elseif("companion" == type) then |
| 72 object = WowCompanion.Load(object) | 72 object = CyborgMMO_WowCompanion.Load(object) |
| 73 elseif("equipmentset" == type) then | 73 elseif("equipmentset" == type) then |
| 74 object = WowEquipmentSet.Load(object) | 74 object = CyborgMMO_WowEquipmentSet.Load(object) |
| 75 else | 75 else |
| 76 object = 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("item" == objectType) then |
| 85 object = WowItem.new(detail,subdetail) | 85 object = CyborgMMO_WowItem.new(detail,subdetail) |
| 86 elseif("macro" == objectType) then | 86 elseif("macro" == objectType) then |
| 87 object = WowMacro.new(detail) | 87 object = CyborgMMO_WowMacro.new(detail) |
| 88 elseif("spell" == objectType) then | 88 elseif("spell" == objectType) then |
| 89 object = WowSpell.new(objectType, detail,subdetail) | 89 object = CyborgMMO_WowSpell.new(objectType, detail,subdetail) |
| 90 elseif("petaction" == objectType) then | 90 elseif("petaction" == objectType) then |
| 91 object = WowSpell.new(objectType, detail,subdetail) | 91 object = CyborgMMO_WowSpell.new(objectType, detail,subdetail) |
| 92 elseif("merchant"== objectType) then | 92 elseif("merchant"== objectType) then |
| 93 object = SlotMerchant.new(detail,subdetail) | 93 object = CyborgMMO_SlotMerchant.new(detail,subdetail) |
| 94 elseif("companion" == objectType) then | 94 elseif("companion" == objectType) then |
| 95 object = WowCompanion.new(detail,subdetail) | 95 object = CyborgMMO_WowCompanion.new(detail,subdetail) |
| 96 elseif("equipmentset" == objectType) then | 96 elseif("equipmentset" == objectType) then |
| 97 object = WowEquipmentSet.new(objectType,detail,subdetail) | 97 object = CyborgMMO_WowEquipmentSet.new(objectType,detail,subdetail) |
| 98 elseif("callback" == objectType) then | 98 elseif("callback" == objectType) then |
| 99 object = WowCallback.new(detail); | 99 object = CyborgMMO_WowCallback.new(detail); |
| 100 else | 100 else |
| 101 object = 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 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, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs = self:GetPoint(); |
| 113 --self:SetPoint(self.point, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs); | 113 --self:SetPoint(self.point, self.relativeTo, self.relativePoint, self.xOfs, self.yOfs); |
| 114 self.strata = self:GetFrameStrata(); | 114 self.strata = self:GetFrameStrata(); |
| 115 self.wowObject = WowCallback.new(self:GetName()); | 115 self.wowObject = CyborgMMO_WowCallback.new(string.gsub(self:GetName(), self:GetParent():GetName(), "",1)) |
| 116 self.wowObject.SetTextures(self); | 116 self.wowObject.SetTextures(self); |
| 117 self:RegisterForDrag("LeftButton","RightButton") | 117 self:RegisterForDrag("LeftButton","RightButton") |
| 118 self:SetResizable(false); | 118 self:SetResizable(false); |
| 119 | 119 |
| 120 self.OnClick = function() | 120 self.OnClick = function() |
| 137 self:StopMovingOrSizing(); | 137 self:StopMovingOrSizing(); |
| 138 | 138 |
| 139 self:ClearAllPoints(); | 139 self:ClearAllPoints(); |
| 140 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); |
| 141 local x, y = GetCursorPosition(); | 141 local x, y = GetCursorPosition(); |
| 142 RatPageController.Instance().CallbackDropped(self) | 142 CyborgMMO_RatPageController.Instance().CallbackDropped(self) |
| 143 end | 143 end |
| 144 | 144 |
| 145 return self; | 145 return self; |
| 146 end | 146 end |
| 147 } | 147 } |
| 148 | 148 |
| 149 WowCallback = { | 149 CyborgMMO_WowCallback = { |
| 150 new = function(callbackName) | 150 new = function(callbackName) |
| 151 local self = WowObject.new("callback", callbackName, ""); | 151 local self = CyborgMMO_WowObject.new("callback", callbackName, ""); |
| 152 self.CallbackName = callbackName; | 152 self.CallbackName = callbackName; |
| 153 self.Texture = "Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga" | 153 self.Texture = "Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga" |
| 154 | 154 |
| 155 self.SetTextures = function(buttonFrame) | 155 self.SetTextures = function(buttonFrame) |
| 156 msg("TextureName = "..self.CallbackName) | |
| 156 buttonFrame:SetNormalTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga") | 157 buttonFrame:SetNormalTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Unselected.tga") |
| 157 buttonFrame:SetPushedTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Down.tga") | 158 buttonFrame:SetPushedTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Down.tga") |
| 158 buttonFrame:SetHighlightTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Over.tga") | 159 buttonFrame:SetHighlightTexture("Interface\\AddOns\\CyborgMMO7\\Graphics\\"..self.CallbackName.."Over.tga") |
| 159 end | 160 end |
| 160 | 161 |
| 161 self.DoAction = function() | 162 self.DoAction = function() |
| 162 local action = GetCallback(self.CallbackName) | 163 local action = CyborgMMO_CallbackFactory.Instance().GetCallback(self.CallbackName) |
| 163 msg("calling callback:- "..self.CallbackName); | 164 msg("calling callback:- "..self.CallbackName); |
| 164 action(); | 165 action(); |
| 165 | 166 |
| 166 end | 167 end |
| 167 | 168 |
| 168 self.PickupCallback = function() | 169 self.PickupCallback = function() |
| 169 | 170 |
| 170 local slot = nil; | 171 local slot = nil; |
| 171 local observers = RatPageModel.Instance().GetAllObservers(); | 172 local observers = CyborgMMO_RatPageModel.Instance().GetAllObservers(); |
| 172 for i = 1, (# observers) do | 173 for i = 1, (# observers) do |
| 173 if(MouseIsOver(observers[i])) then | 174 if(MouseIsOver(observers[i])) then |
| 174 slot = observers[i]; | 175 slot = observers[i]; |
| 175 break; | 176 break; |
| 176 end | 177 end |
| 181 | 182 |
| 182 self.ClickHandler = function(self, button, down) | 183 self.ClickHandler = function(self, button, down) |
| 183 msg("click handler"); | 184 msg("click handler"); |
| 184 CallbackCursor:StopMoving(); | 185 CallbackCursor:StopMoving(); |
| 185 CallbackCursor:Hide(); | 186 CallbackCursor:Hide(); |
| 186 | |
| 187 if("LeftButton" == button) then | |
| 188 else | |
| 189 | |
| 190 end | |
| 191 end | 187 end |
| 192 | 188 |
| 193 self.Pickup = function() | 189 self.Pickup = function() |
| 194 self.PlaySound() | 190 self.PlaySound() |
| 195 ClearCursor(); | 191 ClearCursor(); |
| 197 | 193 |
| 198 end | 194 end |
| 199 | 195 |
| 200 | 196 |
| 201 self.SetBinding = function(key) | 197 self.SetBinding = function(key) |
| 202 local buttonFrame, parentFrame, name = CallbackFactory.Instance().AddCallback(self.DoAction); | 198 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction); |
| 203 if(1 ~= SetOverrideBindingClick(CallbackFactory.Instance().Frame, true, key, name, "LeftButton")) then | 199 if(1 ~= SetOverrideBindingClick(CyborgMMO_CallbackFactory.Instance().Frame, true, key, name, "LeftButton")) then |
| 204 msg("Failed to Bind modeChange"); | 200 msg("Failed to Bind modeChange"); |
| 205 end | 201 end |
| 206 end | 202 end |
| 207 | 203 |
| 208 return self; | 204 return self; |
| 209 end | 205 end |
| 210 } | 206 } |
| 211 | 207 |
| 212 -- WowItem Class -- | 208 -- WowItem Class -- |
| 213 | 209 |
| 214 WowItem = { | 210 CyborgMMO_WowItem = { |
| 215 new = function(number, itemID) | 211 new = function(number, itemID) |
| 216 local self = WowObject.new("item", number, itemID); -- base class | 212 local self = CyborgMMO_WowObject.new("item", number, itemID); -- base class |
| 217 -- Set all the item info. -- | 213 -- Set all the item info. -- |
| 218 self.Name, | 214 self.Name, |
| 219 self.Link, | 215 self.Link, |
| 220 self.Rarity, | 216 self.Rarity, |
| 221 self.Level, | 217 self.Level, |
| 239 --SetCursor(self.Texture); | 235 --SetCursor(self.Texture); |
| 240 return PickupItem(self.Link); | 236 return PickupItem(self.Link); |
| 241 end | 237 end |
| 242 | 238 |
| 243 self.SetBinding = function(key) | 239 self.SetBinding = function(key) |
| 244 SetOverrideBinding(CallbackFactory.Instance().Frame, true, key, "ITEM "..self.Name); | 240 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "ITEM "..self.Name); |
| 245 end | 241 end |
| 246 | 242 |
| 247 return self; | 243 return self; |
| 248 end, | 244 end, |
| 249 } | 245 } |
| 250 | 246 |
| 251 -- WowSpell Class -- | 247 -- WowSpell Class -- |
| 252 | 248 |
| 253 WowSpell = { | 249 CyborgMMO_WowSpell = { |
| 254 new = function(type, spellbookID, spellbook) | 250 new = function(type, spellbookID, spellbook) |
| 255 local self = WowObject.new(type, spellbookID, spellbook) -- base class | 251 local self = CyborgMMO_WowObject.new(type, spellbookID, spellbook) -- base class |
| 256 self.SpellbookID = spellbookID; | 252 self.SpellbookID = spellbookID; |
| 257 self.Spellbook = spellbook; | 253 self.Spellbook = spellbook; |
| 258 self.Name, self.Rank = GetSpellBookItemName(spellbookID, spellbook); | 254 self.Name, self.Rank = GetSpellBookItemName(spellbookID, spellbook); |
| 259 self.Texture = GetSpellBookItemTexture(spellbookID, spellbook); | 255 self.Texture = GetSpellBookItemTexture(spellbookID, spellbook); |
| 260 self.Type = type; | 256 self.Type = type; |
| 274 end | 270 end |
| 275 | 271 |
| 276 self.SetBinding = function(key) | 272 self.SetBinding = function(key) |
| 277 msg("Binding to key "..key) | 273 msg("Binding to key "..key) |
| 278 self.Key = key | 274 self.Key = key |
| 279 SetOverrideBinding(CallbackFactory.Instance().Frame, true, self.Key, self.Type.." "..self.Name); | 275 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, self.Key, self.Type.." "..self.Name); |
| 280 end | 276 end |
| 281 | 277 |
| 282 return self; | 278 return self; |
| 283 | 279 |
| 284 end, | 280 end, |
| 291 end | 287 end |
| 292 } | 288 } |
| 293 | 289 |
| 294 -- WowMacro Class -- | 290 -- WowMacro Class -- |
| 295 | 291 |
| 296 WowMacro = { | 292 CyborgMMO_WowMacro = { |
| 297 new = function(index) | 293 new = function(index) |
| 298 local self = WowObject.new("macro", index, nil); -- base class | 294 local self = CyborgMMO_WowObject.new("macro", index, nil); -- base class |
| 299 -- Set all the item info. -- | 295 -- Set all the item info. -- |
| 300 self.Name, | 296 self.Name, |
| 301 self.Texture, | 297 self.Texture, |
| 302 self.Body, | 298 self.Body, |
| 303 self.isLocal = GetMacroInfo(index); | 299 self.isLocal = GetMacroInfo(index); |
| 316 return PickupMacro(self.Index); | 312 return PickupMacro(self.Index); |
| 317 end | 313 end |
| 318 | 314 |
| 319 self.SetBinding = function(key) | 315 self.SetBinding = function(key) |
| 320 self.Key = key; | 316 self.Key = key; |
| 321 SetOverrideBinding(CallbackFactory.Instance().Frame, true, key, "MACRO "..self.Index); | 317 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "MACRO "..self.Index); |
| 322 end | 318 end |
| 323 | 319 |
| 324 return self; | 320 return self; |
| 325 end, | 321 end, |
| 326 } | 322 } |
| 327 | 323 |
| 328 | 324 |
| 329 -- WowCompanion Class -- | 325 -- WowCompanion Class -- |
| 330 | 326 |
| 331 WowCompanion = { | 327 CyborgMMO_WowCompanion = { |
| 332 new = function(index, SubType) | 328 new = function(index, SubType) |
| 333 local self = WowObject.new("companion", index, SubType); -- base class | 329 local self = CyborgMMO_WowObject.new("companion", index, SubType); -- base class |
| 334 -- Set all the item info. -- | 330 -- Set all the item info. -- |
| 335 self.Id, self.Name, self.SpellId, self.Texture, self.isSummoned = GetCompanionInfo(SubType, index); | 331 self.Id, self.Name, self.SpellId, self.Texture, self.isSummoned = GetCompanionInfo(SubType, index); |
| 336 self.SubType = SubType; | 332 self.SubType = SubType; |
| 337 self.index = index; | 333 self.index = index; |
| 338 -- override method -- | 334 -- override method -- |
| 350 return PickupCompanion(self.SubType, self.index); | 346 return PickupCompanion(self.SubType, self.index); |
| 351 end | 347 end |
| 352 | 348 |
| 353 self.SetBinding = function(key) | 349 self.SetBinding = function(key) |
| 354 self.Key = key | 350 self.Key = key |
| 355 local buttonFrame, parentFrame, name = CallbackFactory.Instance().AddCallback(self.DoAction); | 351 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction); |
| 356 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then | 352 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then |
| 357 msg("Failed to bind companion to button click"); | 353 msg("Failed to bind companion to button click"); |
| 358 end | 354 end |
| 359 --SetOverrideBinding(hiddenModeChanger, true, key, "MACRO "..self.Index); | 355 --SetOverrideBinding(hiddenModeChanger, true, key, "MACRO "..self.Index); |
| 360 end | 356 end |
| 367 return o; | 363 return o; |
| 368 end | 364 end |
| 369 } | 365 } |
| 370 | 366 |
| 371 -- WowMerchant Class -- | 367 -- WowMerchant Class -- |
| 372 WowMerchant = { | 368 CyborgMMO_WowMerchant = { |
| 373 new = function(index) | 369 new = function(index) |
| 374 local self = WowObject.new("macro", index, nil); -- base class | 370 local self = CyborgMMO_WowObject.new("macro", index, nil); -- base class |
| 375 -- Set all the item info. -- | 371 -- Set all the item info. -- |
| 376 self.Name, | 372 self.Name, |
| 377 self.Texture, | 373 self.Texture, |
| 378 self.Price, | 374 self.Price, |
| 379 self.Quantity, | 375 self.Quantity, |
| 395 return PickupMerchantItem(self.Index); | 391 return PickupMerchantItem(self.Index); |
| 396 end | 392 end |
| 397 | 393 |
| 398 self.SetBinding = function(key) | 394 self.SetBinding = function(key) |
| 399 self.Key = key | 395 self.Key = key |
| 400 SetOverrideBinding(CallbackFactory.Instance().Frame, true, key, "MERCHANT "..self.Index); | 396 SetOverrideBinding(CyborgMMO_CallbackFactory.Instance().Frame, true, key, "MERCHANT "..self.Index); |
| 401 end | 397 end |
| 402 | 398 |
| 403 return self; | 399 return self; |
| 404 end, | 400 end, |
| 405 } | 401 } |
| 406 | 402 |
| 407 -- WowEquipmentSet Class -- | 403 -- WowEquipmentSet Class -- |
| 408 WowEquipmentSet = { | 404 CyborgMMO_WowEquipmentSet = { |
| 409 new = function(objectType, name, index) | 405 new = function(objectType, name, index) |
| 410 local self = WowObject.new(objectType, name, index); -- base class | 406 local self = CyborgMMO_WowObject.new(objectType, name, index); -- base class |
| 411 -- Set all the item info. -- | 407 -- Set all the item info. -- |
| 412 texture, lessIndex = GetEquipmentSetInfoByName(name); | 408 texture, lessIndex = GetEquipmentSetInfoByName(name); |
| 413 self.Texture = "Interface\\Icons\\"..texture; | 409 self.Texture = "Interface\\Icons\\"..texture; |
| 414 self.Name = name | 410 self.Name = name |
| 415 self.Index = lessIndex+1; | 411 self.Index = lessIndex+1; |
| 427 return PickupEquipmentSetByName(self.Name); | 423 return PickupEquipmentSetByName(self.Name); |
| 428 end | 424 end |
| 429 | 425 |
| 430 self.SetBinding = function(key) | 426 self.SetBinding = function(key) |
| 431 self.Key = key | 427 self.Key = key |
| 432 local buttonFrame, parentFrame, name = CallbackFactory.Instance().AddCallback(self.DoAction); | 428 local buttonFrame, parentFrame, name = CyborgMMO_CallbackFactory.Instance().AddCallback(self.DoAction); |
| 433 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then | 429 if(1 ~= SetOverrideBindingClick(parentFrame, true, key, name, "LeftButton")) then |
| 434 msg("Failed to bind companion to button click"); | 430 msg("Failed to bind companion to button click"); |
| 435 end | 431 end |
| 436 end | 432 end |
| 437 | 433 |
