Mercurial > wow > cyborg-mmo7
comparison RatPageModel.lua @ 39:ce4ddefb68c2
Fail early when a wow object cannot be created. Default to empty slots rather than empty wow objects.
author | madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09 |
---|---|
date | Thu, 25 Apr 2013 18:16:03 +0000 |
parents | 6ce173840e68 |
children | fb81254bd7b8 |
comparison
equal
deleted
inserted
replaced
38:d12a5a7d2be5 | 39:ce4ddefb68c2 |
---|---|
74 | 74 |
75 self.data = data["Rat"] | 75 self.data = data["Rat"] |
76 if data then | 76 if data then |
77 for mode=1,RAT7.MODES do | 77 for mode=1,RAT7.MODES do |
78 for button=1,RAT7.BUTTONS do | 78 for button=1,RAT7.BUTTONS do |
79 if self.data[mode][button] then | 79 local data = self.data[mode][button] |
80 local object = CyborgMMO_CreateWowObject(self.data[mode][button].type, self.data[mode][button].detail, self.data[mode][button].subdetail) | 80 if data and data.type then |
81 local object = CyborgMMO_CreateWowObject(data.type, data.detail, data.subdetail) | |
81 self:SetObjectOnButtonNoUpdate(button, mode, object) | 82 self:SetObjectOnButtonNoUpdate(button, mode, object) |
82 else | 83 else |
83 local object = CyborgMMO_CreateWowObject() | 84 self:SetObjectOnButtonNoUpdate(button, mode, nil) |
84 self:SetObjectOnButtonNoUpdate(button, mode, object) | |
85 self.data[mode][button] = object | |
86 end | 85 end |
87 end | 86 end |
88 end | 87 end |
89 self:UpdateObservers() | 88 self:UpdateObservers() |
90 end | 89 end |
126 CyborgMMO_DPrint("trying to set texture") | 125 CyborgMMO_DPrint("trying to set texture") |
127 local slot = getglobal("CyborgMMO_MainPageSlotListSlot"..button) | 126 local slot = getglobal("CyborgMMO_MainPageSlotListSlot"..button) |
128 slot:SetNormalTexture(object.texture) | 127 slot:SetNormalTexture(object.texture) |
129 end | 128 end |
130 else | 129 else |
131 CyborgMMO_DPrint("clearing "..button) | |
132 CyborgMMO_ClearBinding(CyborgMMO_ProfileKeyBindings[((mode-1)*RAT7.BUTTONS)+button]) | 130 CyborgMMO_ClearBinding(CyborgMMO_ProfileKeyBindings[((mode-1)*RAT7.BUTTONS)+button]) |
133 end | 131 end |
134 end | 132 end |
135 | 133 |
136 function RatPageModel_methods:SetObjectOnButton(button, mode, object) | 134 function RatPageModel_methods:SetObjectOnButton(button, mode, object) |
135 if not object then | |
136 CyborgMMO_DPrint("clearing "..button) | |
137 end | |
137 self:SetObjectOnButtonNoUpdate(button, mode, object) | 138 self:SetObjectOnButtonNoUpdate(button, mode, object) |
138 self:UpdateObservers() | 139 self:UpdateObservers() |
139 end | 140 end |
140 | 141 |
141 function RatPageModel_methods:AddObserver(view) | 142 function RatPageModel_methods:AddObserver(view) |