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)