madcatzinc@13: --~ Warcraft Plugin for Cyborg MMO7 madcatzinc@0: --~ Filename: RatPageController.lua madcatzinc@0: --~ Description: Controller logic for the RatPage madcatzinc@0: --~ Copyright (C) 2012 Mad Catz Inc. madcatzinc@0: --~ Author: Christopher Hooks madcatzinc@0: madcatzinc@0: --~ This program is free software; you can redistribute it and/or madcatzinc@0: --~ modify it under the terms of the GNU General Public License madcatzinc@0: --~ as published by the Free Software Foundation; either version 2 madcatzinc@0: --~ of the License, or (at your option) any later version. madcatzinc@0: madcatzinc@0: --~ This program is distributed in the hope that it will be useful, madcatzinc@0: --~ but WITHOUT ANY WARRANTY; without even the implied warranty of madcatzinc@0: --~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the madcatzinc@0: --~ GNU General Public License for more details. madcatzinc@0: madcatzinc@0: --~ You should have received a copy of the GNU General Public License madcatzinc@0: --~ along with this program; if not, write to the Free Software madcatzinc@0: --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. madcatzinc@0: madcatzinc@4: CyborgMMO_RatPageController = { madcatzinc@0: new = function() madcatzinc@13: local self = {} madcatzinc@13: CyborgMMO_RatPageModel.Instance().SetMode(1) madcatzinc@0: madcatzinc@0: self.SlotClicked = function(slot) madcatzinc@0: local slotObject = nil madcatzinc@4: slotObject = CyborgMMO_RatPageModel.Instance().GetObjectOnButton(slot.Id) madcatzinc@13: CyborgMMO_RatPageModel.Instance().SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel.Instance().GetMode(), self.GetCursorObject()) madcatzinc@0: madcatzinc@13: if slotObject then madcatzinc@13: slotObject.Pickup() madcatzinc@0: end madcatzinc@0: end madcatzinc@0: madcatzinc@0: self.ModeClicked = function(mode) madcatzinc@13: msg("Setting mode "..tostring(mode.Id)) madcatzinc@13: CyborgMMO_RatPageModel.Instance().SetMode(mode.Id) madcatzinc@0: end madcatzinc@0: madcatzinc@0: self.GetCursorObject = function() madcatzinc@13: local cursorObject = nil madcatzinc@13: if GetCursorInfo() then madcatzinc@13: local type,detail,subdetail = GetCursorInfo() madcatzinc@13: cursorObject = CyborgMMO_WowObject.Create(type, detail, subdetail) madcatzinc@13: ClearCursor() madcatzinc@0: end madcatzinc@13: return cursorObject madcatzinc@0: end madcatzinc@13: madcatzinc@0: self.CallbackDropped = function(callbackObject) madcatzinc@13: local slot = nil madcatzinc@13: local observers = CyborgMMO_RatPageModel.Instance().GetAllObservers() madcatzinc@13: for i=1,#observers do madcatzinc@13: if MouseIsOver(observers[i]) then madcatzinc@13: slot = observers[i] madcatzinc@13: break madcatzinc@0: end madcatzinc@0: end madcatzinc@13: if slot then madcatzinc@13: CyborgMMO_RatPageModel.Instance().SetObjectOnButton(slot.Id, CyborgMMO_RatPageModel.Instance().GetMode(), callbackObject.wowObject) madcatzinc@0: end madcatzinc@0: end madcatzinc@0: madcatzinc@0: self.Close = function() madcatzinc@0: end madcatzinc@0: madcatzinc@0: self.Open = function() madcatzinc@0: end madcatzinc@0: madcatzinc@13: return self madcatzinc@0: end, madcatzinc@0: madcatzinc@0: m_Instance = nil, madcatzinc@0: madcatzinc@0: Instance = function() madcatzinc@13: if not CyborgMMO_RatPageController.m_Instance then madcatzinc@13: CyborgMMO_RatPageController.m_Instance = CyborgMMO_RatPageController.new() madcatzinc@0: end madcatzinc@13: return CyborgMMO_RatPageController.m_Instance madcatzinc@13: end, madcatzinc@0: } madcatzinc@13: