diff RatPageController.lua @ 0:bf9220814fb5

The first version of the Cyborg MMO7 addon for warcraft
author madcatzinc@35b17cf1-18cd-47ff-9ca3-31d6b526ef09
date Tue, 24 Jan 2012 17:14:21 +0000
parents
children d186f8cd5000
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/RatPageController.lua	Tue Jan 24 17:14:21 2012 +0000
@@ -0,0 +1,86 @@
+--~ Warcraft Plugin for Cyborg MMO7 
+--~ Filename: RatPageController.lua
+--~ Description: Controller logic for the RatPage
+--~ Copyright (C) 2012 Mad Catz Inc.
+--~ Author: Christopher Hooks
+
+--~ This program is free software; you can redistribute it and/or
+--~ modify it under the terms of the GNU General Public License
+--~ as published by the Free Software Foundation; either version 2
+--~ of the License, or (at your option) any later version.
+
+--~ This program is distributed in the hope that it will be useful,
+--~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+--~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+--~ GNU General Public License for more details.
+
+--~ You should have received a copy of the GNU General Public License
+--~ along with this program; if not, write to the Free Software
+--~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+
+RatPageController = {
+	new = function()
+		local self = {};
+		RatPageModel.Instance().SetMode(1);
+
+		self.SlotClicked = function(slot)
+			local slotObject = nil
+			slotObject = RatPageModel.Instance().GetObjectOnButton(slot.Id)
+			RatPageModel.Instance().SetObjectOnButton(slot.Id, RatPageModel.Instance().GetMode(), self.GetCursorObject());
+
+			if(slotObject ~= nil) then
+				slotObject.Pickup();
+			end
+
+		end
+
+		self.ModeClicked = function(mode)
+			msg("Setting mode "..tostring(mode.Id));
+			RatPageModel.Instance().SetMode(mode.Id);
+		end
+
+		self.GetCursorObject = function()
+			local cursorObject = nil;
+			if(nil ~= GetCursorInfo()) then
+				local type, detail, subdetail = GetCursorInfo();
+				cursorObject = WowObject.Create(type, detail, subdetail);
+				ClearCursor();
+			end
+			return cursorObject;
+		end
+		
+		self.CallbackDropped = function(callbackObject)
+			local slot = nil;
+			local observers = RatPageModel.Instance().GetAllObservers();
+			for i = 1, (# observers) do
+				if(MouseIsOver(observers[i])) then
+					slot = observers[i];
+					break;
+				end
+			end
+			if(nil ~= slot) then 
+				RatPageModel.Instance().SetObjectOnButton(slot.Id, RatPageModel.Instance().GetMode(), callbackObject.wowObject);
+			end
+		end
+		
+		
+
+		self.Close = function()
+
+		end
+
+		self.Open = function()
+		end
+
+		return self;
+	end,
+
+	m_Instance = nil,
+
+	Instance = function()
+		if(nil == RatPageController.m_Instance) then
+			RatPageController.m_Instance = RatPageController.new();
+		end
+		return RatPageController.m_Instance;
+	end
+}