Mercurial > wow > cyborg-mmo7
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 +}