|
- -- 主界面
- local JoinRoomView = class("JoinRoomView", cc.UIView)
-
-
- function JoinRoomView:ctor(gameId)
- JoinRoomView.super.ctor(self);
-
- local ui = loadUI("res/ui/ui_dating/ui_jiarufangjian.ui");
- self.ui = ui;
- self:addChild(ui);
-
- self.gameId = gameId;
-
- self.numbers = {};
-
- self.images =
- {
- [0] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_0.png",
- [1] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_1.png",
- [2] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_2.png",
- [3] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_3.png",
- [4] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_4.png",
- [5] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_5.png",
- [6] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_6.png",
- [7] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_7.png",
- [8] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_8.png",
- [9] = "res/ui/zy_dating/jiaru/JoinRoom_shuzi_9.png",
- }
- end
-
- function JoinRoomView:onEnter()
- JoinRoomView.super.onEnter(self)
-
- -- 房间号图片
- self.numberImage = {}
- self.numberImage[1] = self.ui.Items.ImageView_fangjianhao_1
- self.numberImage[2] = self.ui.Items.ImageView_fangjianhao_2
- self.numberImage[3] = self.ui.Items.ImageView_fangjianhao_3
- self.numberImage[4] = self.ui.Items.ImageView_fangjianhao_4
- self.numberImage[5] = self.ui.Items.ImageView_fangjianhao_5
- self.numberImage[6] = self.ui.Items.ImageView_fangjianhao_6
-
- -- 键盘按钮
- self.numberButton = {}
- self.numberButton[0] = self.ui.Items.Button_10
- self.numberButton[1] = self.ui.Items.Button_1
- self.numberButton[2] = self.ui.Items.Button_2
- self.numberButton[3] = self.ui.Items.Button_3
- self.numberButton[4] = self.ui.Items.Button_4
- self.numberButton[5] = self.ui.Items.Button_5
- self.numberButton[6] = self.ui.Items.Button_6
- self.numberButton[7] = self.ui.Items.Button_7
- self.numberButton[8] = self.ui.Items.Button_8
- self.numberButton[9] = self.ui.Items.Button_9
-
- for k,v in pairs(self.numberButton) do
- v:registerClick(function()
- self:onClickNumber(k)
- end)
- end
-
- -- 重输
- self.ui.Items.Button_11:registerClick(function()
- self:onClickReturn()
- end)
-
- -- 回删
- self.ui.Items.Button_12:registerClick(handler(self , self.onClickBack))
-
- -- 关闭
- self.ui.Items.Button_guanbi:registerClick(handler(self , self.onClickClose))
-
- -- 一键加入(手机无效)
- self.ui.Items.btnTest:registerClick(handler(self , self.onClickTest))
-
- self.ui.Items.btnTest:setVisible(cc.Application:getInstance():getTargetPlatform() == 0)
-
- -- 监听事件
- self:bindEvent(app.hall , "onJoinRoomResponse", handler(self , self.onJoinRoomResponse));
-
- -- self:onClickReturn()
- self:restNumbers()
- end
-
- -- 监听事件
- function JoinRoomView:onJoinRoomResponse(event)
- if not event then
- return
- end
- local errCode = event.errCode
- if errCode ~= 0 then
- local errString = ENTER_ROOM_RET_STR[errCode] or "房间不存在"
- showTooltip(errString);
- end
- -- self:onClickReturn();
- self:restNumbers()
- end
-
- function JoinRoomView:restNumbers()
- self.numbers = {}
- self:updateNumbers()
- end
-
- -- 关闭
- function JoinRoomView:onClickClose()
- playBtnCloseEffect()
- self:removeFromParent()
- end
-
- -- 重输
- function JoinRoomView:onClickReturn()
- playBtnEffect()
- self:restNumbers()
- end
-
- --一键加入
- function JoinRoomView:onClickTest()
- local n = cc.UserDefault:getInstance():getIntegerForKey("LastRoomID",0)
- if n == 0 then
- showTooltip("请先开个房间")
- return
- end
- self.numbers[1] = math.floor(n / 100000 % 10)
- self.numbers[2] = math.floor(n / 10000 % 10)
- self.numbers[3] = math.floor(n / 1000 % 10)
- self.numbers[4] = math.floor(n / 100 % 10)
- self.numbers[5] = math.floor(n / 10 % 10)
- self.numbers[6] = math.floor(n / 1 % 10)
- self:updateNumbers();
- self:onClickOk()
- end
-
- -- 回删
- function JoinRoomView:onClickBack()
- playBtnEffect()
- local num = #self.numbers
- if num <= 0 then
- return;
- end
-
- table.remove(self.numbers, num)
- self:updateNumbers()
- end
-
- -- 数字
- function JoinRoomView:onClickNumber(number)
- playBtnEffect()
- if #self.numbers >= 6 then
- return
- end
- table.insert(self.numbers, number)
- self:updateNumbers()
- if #self.numbers >= 6 then
- self:onClickOk()
- end
- end
-
- function JoinRoomView:onClickOk()
- if not isEnableEnterRoom() then
- return
- end
- local str = ""
- for i = 1,#self.numbers do
- str = str..self.numbers[i]
- end
-
- local room_id = tonumber(str)
- print("用户的房间号:"..room_id)
-
- logI(tostring(self.gameId))
-
- if self.gameId then
- app.hall:requestJoinRoom(self.gameId, room_id)
- else
- app.hall:queryRoomId(room_id, handler(self, self.onQueryRoomResponse));
- end
- end
-
- function JoinRoomView:onQueryRoomResponse(gameId, roomId)
- if not gameId or tonumber(gameId) <= 0 then
- showTooltip("房间号不存在")
- return
- end
-
- local function requestJoinRoom()
- app.hall:requestJoinRoom(gameId, roomId)
- end
-
- -- 尝试进入房间
- local function tryJoinRoom()
- local result, subGameId, missingFiles = app.subGameManager:checkGameFiles(gameId)
- if not result then
- logD("JoinRoomView::onQueryRoomResponse() 发现子游戏文件缺失,gameId = "..subGameId)
- for k,v in pairs(missingFiles) do
- logD(v);
- end
- local function onOk()
- app.subGameManager:clearGame(subGameId);
- downloadSubGame(subGameId, tryEnterRoom);
- end
- showConfirmDialog("发现文件缺失,点击确定开始修复", onOk);
- else
- requestJoinRoom();
- end
- end
-
- -- 检查这个子游戏是否已安装
- if app.subGameManager then
- if not app.subGameManager:isInstaller(gameId) then
- requestDownloadSubGame(gameId, tryJoinRoom, true)
- else
- tryJoinRoom();
- end
- else
- showTooltip("SubGameManager is nil")
- end
- end
-
- --
- function JoinRoomView:updateNumbers()
- for k,v in pairs(self.numberImage) do
- if self.numbers[k] then
- v:setVisible(true)
- local num = self.numbers[k]
- local image = self.images[num];
- v:loadTexture(image);
- else
- v:setVisible(false)
- end
- end
- end
-
- return JoinRoomView;
|