MainMenuView.lua
2.67 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
local MainMenuView = dialog.uinode("ui/MainMenuLayer.csb",import(".BaseView"))
function MainMenuView:ctor()
MainMenuView.super.ctor(self);
end
function MainMenuView:show(pos,onKeypadDown,onLeftFun,onRightFun,onCloseFun)
local scene = cc.Director:getInstance():getRunningScene()
local inst = MainMenuView:create();
scene:addChild(inst, dialog.ZORDER_APP);
inst:setPosition(pos);
inst.onKeypadDownFun = onKeypadDown;
inst.onLeftFun = onLeftFun;
inst.onRightFun = onRightFun;
inst.onCloseFun = onCloseFun;
inst:init();
-- local panel = inst:getChildByName("panel");
-- panel:setScale(0.5);
-- local scaleTo = cc.ScaleTo:create(0.2,1);
-- panel:runAction(scaleTo);
return inst;
end
function MainMenuView:init()
self.panel = self:getChildByName("panel");
self.btn_free = self.panel:getChildByName("btn_free");
self.btn_free.fn = handler(self,self.onFree);
self.btn_free:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, self.btn_free.fn)end);
self.btn_mail = self.panel:getChildByName("btn_mail");
self.btn_mail.fn = handler(self,self.onMail);
self.btn_mail:addTouchEventListener(function(ref,type) self:onButtonClick(ref,type, self.btn_mail.fn)end);
self.nodes = {};
self.nodes[1] = {self.btn_mail};
self.nodes[2] = {self.btn_free};
self.nodeIndex = 1;
self.selectedIndex = 1;
self:updateSelectedState();
end
function MainMenuView:onFree()
if not UserModel.isLogin then
Alert.showOne(strings.msg_1002);
return;
end
local reciever = require("app.views.view.FreeView"):show();
local scene = cc.Director:getInstance():getRunningScene();
scene.keypadManager:addKeypadReceiver(reciever);
end
--邮件
function MainMenuView:onMail()
if not UserModel.isLogin then
Alert.showOne(strings.msg_1002);
return;
end
local reciever = require("app.views.view.MailView"):show();
local scene = cc.Director:getInstance():getRunningScene();
scene.keypadManager:addKeypadReceiver(reciever);
end
--返回键处理函数
function MainMenuView:onKeypadBack()
if self.onCloseFun then
self.onCloseFun();
end
self:close();
end
--上键处理函数
function MainMenuView:onKeypadDown()
if self.nodeIndex < #self.nodes then
MainMenuView.super.onKeypadDown(self);
else
if self.onKeypadDownFun then
self.onKeypadDownFun();
end
end
end
--左键处理函数
function MainMenuView:onKeypadLeft()
if self.onLeftFun then
self.onLeftFun();
end
end
function MainMenuView:onKeypadRight()
if self.onRightFun then
self.onRightFun();
end
end
return MainMenuView