comparison 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
comparison
equal deleted inserted replaced
-1:000000000000 0:bf9220814fb5
1 --~ Warcraft Plugin for Cyborg MMO7
2 --~ Filename: RatPageController.lua
3 --~ Description: Controller logic for the RatPage
4 --~ Copyright (C) 2012 Mad Catz Inc.
5 --~ Author: Christopher Hooks
6
7 --~ This program is free software; you can redistribute it and/or
8 --~ modify it under the terms of the GNU General Public License
9 --~ as published by the Free Software Foundation; either version 2
10 --~ of the License, or (at your option) any later version.
11
12 --~ This program is distributed in the hope that it will be useful,
13 --~ but WITHOUT ANY WARRANTY; without even the implied warranty of
14 --~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 --~ GNU General Public License for more details.
16
17 --~ You should have received a copy of the GNU General Public License
18 --~ along with this program; if not, write to the Free Software
19 --~ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20
21 RatPageController = {
22 new = function()
23 local self = {};
24 RatPageModel.Instance().SetMode(1);
25
26 self.SlotClicked = function(slot)
27 local slotObject = nil
28 slotObject = RatPageModel.Instance().GetObjectOnButton(slot.Id)
29 RatPageModel.Instance().SetObjectOnButton(slot.Id, RatPageModel.Instance().GetMode(), self.GetCursorObject());
30
31 if(slotObject ~= nil) then
32 slotObject.Pickup();
33 end
34
35 end
36
37 self.ModeClicked = function(mode)
38 msg("Setting mode "..tostring(mode.Id));
39 RatPageModel.Instance().SetMode(mode.Id);
40 end
41
42 self.GetCursorObject = function()
43 local cursorObject = nil;
44 if(nil ~= GetCursorInfo()) then
45 local type, detail, subdetail = GetCursorInfo();
46 cursorObject = WowObject.Create(type, detail, subdetail);
47 ClearCursor();
48 end
49 return cursorObject;
50 end
51
52 self.CallbackDropped = function(callbackObject)
53 local slot = nil;
54 local observers = RatPageModel.Instance().GetAllObservers();
55 for i = 1, (# observers) do
56 if(MouseIsOver(observers[i])) then
57 slot = observers[i];
58 break;
59 end
60 end
61 if(nil ~= slot) then
62 RatPageModel.Instance().SetObjectOnButton(slot.Id, RatPageModel.Instance().GetMode(), callbackObject.wowObject);
63 end
64 end
65
66
67
68 self.Close = function()
69
70 end
71
72 self.Open = function()
73 end
74
75 return self;
76 end,
77
78 m_Instance = nil,
79
80 Instance = function()
81 if(nil == RatPageController.m_Instance) then
82 RatPageController.m_Instance = RatPageController.new();
83 end
84 return RatPageController.m_Instance;
85 end
86 }