diff RatPageController.lua @ 18:cccc7661a2e6

Simplified the Rat page model and controller object models.
author madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09
date Thu, 25 Apr 2013 01:30:11 +0000
parents 80192bc4a108
children b7074b47cfc7
line wrap: on
line diff
--- a/RatPageController.lua	Thu Apr 25 01:30:05 2013 +0000
+++ b/RatPageController.lua	Thu Apr 25 01:30:11 2013 +0000
@@ -18,66 +18,58 @@
 --~ along with this program; if not, write to the Free Software
 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 
-CyborgMMO_RatPageController = {
-	new = function()
-		local self = {}
-		CyborgMMO_RatPageModel.Instance().SetMode(1)
+------------------------------------------------------------------------------
 
-		self.SlotClicked = function(slot)
-			local slotObject = nil
-			slotObject = CyborgMMO_RatPageModel.Instance().GetObjectOnButton(slot.Id)
-			CyborgMMO_RatPageModel.Instance().SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel.Instance().GetMode(), self.GetCursorObject())
+local RatPageController_methods = {}
+local RatPageController_mt = {__index=RatPageController_methods}
 
-			if slotObject then
-				slotObject.Pickup()
-			end
+local function RatPageController()
+	local self = {}
+--	CyborgMMO_RatPageModel:SetMode(1)
+	setmetatable(self, RatPageController_mt)
+	return self
+end
+
+function RatPageController_methods:SlotClicked(slot)
+	local slotObject = nil
+	slotObject = CyborgMMO_RatPageModel:GetObjectOnButton(slot.Id)
+	CyborgMMO_RatPageModel:SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel:GetMode(), self:GetCursorObject())
+
+	if slotObject then
+		slotObject.Pickup()
+	end
+end
+
+function RatPageController_methods:ModeClicked(mode)
+	CyborgMMO_DPrint("Setting mode "..tostring(mode.Id))
+	CyborgMMO_RatPageModel:SetMode(mode.Id)
+end
+
+function RatPageController_methods:GetCursorObject()
+	local cursorObject = nil
+	if GetCursorInfo() then
+		local type,detail,subdetail = GetCursorInfo()
+		cursorObject = CyborgMMO_WowObject.Create(type, detail, subdetail)
+		ClearCursor()
+	end
+	return cursorObject
+end
+
+function RatPageController_methods:CallbackDropped(callbackObject)
+	local slot = nil
+	local observers = CyborgMMO_RatPageModel:GetAllObservers()
+	for i=1,#observers do
+		if MouseIsOver(observers[i]) then
+			slot = observers[i]
+			break
 		end
+	end
+	if slot then
+		CyborgMMO_RatPageModel:SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel:GetMode(), callbackObject.wowObject)
+	end
+end
 
-		self.ModeClicked = function(mode)
-			CyborgMMO_DPrint("Setting mode "..tostring(mode.Id))
-			CyborgMMO_RatPageModel.Instance().SetMode(mode.Id)
-		end
+------------------------------------------------------------------------------
 
-		self.GetCursorObject = function()
-			local cursorObject = nil
-			if GetCursorInfo() then
-				local type,detail,subdetail = GetCursorInfo()
-				cursorObject = CyborgMMO_WowObject.Create(type, detail, subdetail)
-				ClearCursor()
-			end
-			return cursorObject
-		end
+CyborgMMO_RatPageController = RatPageController()
 
-		self.CallbackDropped = function(callbackObject)
-			local slot = nil
-			local observers = CyborgMMO_RatPageModel.Instance().GetAllObservers()
-			for i=1,#observers do
-				if MouseIsOver(observers[i]) then
-					slot = observers[i]
-					break
-				end
-			end
-			if slot then
-				CyborgMMO_RatPageModel.Instance().SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel.Instance().GetMode(), callbackObject.wowObject)
-			end
-		end
-
-		self.Close = function()
-		end
-
-		self.Open = function()
-		end
-
-		return self
-	end,
-
-	m_Instance = nil,
-
-	Instance = function()
-		if not CyborgMMO_RatPageController.m_Instance then
-			CyborgMMO_RatPageController.m_Instance = CyborgMMO_RatPageController.new()
-		end
-		return CyborgMMO_RatPageController.m_Instance
-	end,
-}
-