|
- -- 解散界面
- local MJRoomDismissItem = MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomDismissItem")
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
-
- local MJRoomDismissView = class("MJRoomDismissView", cc.UIView)
-
- local function getUserNameById(userId)
- local userInfo = app.room:getUserInfo(userId)
- if not userInfo then return end
- local userName = userInfo.nickname or tostring(userId)
-
- return userName
- end
-
- function MJRoomDismissView:ctor(initiateUserId)
- MJRoomDismissView.super.ctor(self);
- self.m_initiateUserId = initiateUserId
- self.itemList = {}
- end
-
- function MJRoomDismissView:onEnter()
- MJRoomDismissView.super.onEnter(self)
- local ui = loadUI("mj/res/ui/ui_fangjian/mj_ui_jiesan.ui");
- self.ui = ui;
- self:addChild(ui);
-
- --谁申请解散
- local initiateUserName = getUserNameById(self.m_initiateUserId)
- initiateUserName = getSubStringNickname(initiateUserName,self.ui.Items.Text)
- self.ui.Items.Text:setText("["..initiateUserName.."]")
-
- -- 同意
- self.ui.Items.Button_1:registerClick(handler(self , self.onClickAgree))
-
- -- 拒绝
- self.ui.Items.Button_2:registerClick(handler(self , self.onClickRefuse))
-
-
- local layout = self.ui.Items.Layout_3
- layout:removeAllChildren()
-
-
- --桌子有坐下的人
- for nUserId, memberInfo in pairsByKeys(app.room.roomInfo.memberList) do
- local item = MJRoomDismissItem:new(nUserId, 0)
- layout:addChild(item.ui)
- self.itemList[nUserId] = item
- end
-
- self:bindEvent(app.room , MJDefine.MJEvent.DismissResponse , handler(self , self.onDismissResponse));
- self:bindEvent(app.room , MJDefine.MJEvent.DismissClose , handler(self , self.onDismissCloseResponse));
-
- self:updateButton()
-
- local timer = app.room.roomInfo.nDismissStateTime or 60
- local totalTime = app.room.roomInfo.nDismissToTalTime or 60
- if self.ui.Items.LoadingBar then
- self.ui.Items.LoadingBar:setPercent(timer/totalTime * 100)
- end
-
- self.loadingBarTimer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function()
- timer = timer - 1
- if self.ui.Items.LoadingBar then
- self.ui.Items.LoadingBar:setPercent(timer/totalTime * 100)
- end
- end,1.0,false)
- end
-
- function MJRoomDismissView:updateButton()
- local myUserId = app.room.roomInfo.nUserId
- if app.room.dismissInfo[myUserId] and app.room.dismissInfo[myUserId] ~= 0 or self.m_initiateUserId == myUserId then
- -- 我已经选择过了或者我是发起申请的那个
- self.ui.Items.Button_1:setVisible(false)
- self.ui.Items.Button_2:setVisible(false)
- else
- -- 我还没选择
- self.ui.Items.Button_1:setVisible(true)
- self.ui.Items.Button_2:setVisible(true)
- end
-
- if app.room.isOnLooker then
- self.ui.Items.Button_1:setVisible(false)
- self.ui.Items.Button_2:setVisible(false)
- self.ui.Items.Text_onLooker:setVisible(true)
- else
- self.ui.Items.Text_onLooker:setVisible(false)
- end
- end
-
- -- 同意
- function MJRoomDismissView:onClickAgree()
- playBtnEffect()
- app.room:requestDismissRoom(2)
- end
-
- -- 拒绝
- function MJRoomDismissView:onClickRefuse()
- playBtnEffect()
- app.room:requestDismissRoom(3)
- end
-
- function MJRoomDismissView:onDismissResponse(event)
- self:updateButton()
- for id,op in pairs(app.room.dismissInfo) do
- local item = self.itemList[id]
- if item then
- item:updateStatus();
- end
- end
-
- -- 房间内的人全都回复过了
- local isReplyNum = 0
- for _, operateType in pairs(app.room.dismissInfo) do
- if operateType == 1 or operateType == 2 or operateType == 3 then
- isReplyNum = isReplyNum + 1
- if operateType == 3 then
- self:runDelay(1, function()
- self:removeView()
- end )
- end
- end
- end
- if isReplyNum >= table.nums(app.room.roomInfo.memberList) then
- self:runDelay(1, function()
- self:removeView()
- end )
- end
- end
-
- function MJRoomDismissView:onDismissCloseResponse(event)
- self:removeView()
- end
-
- function MJRoomDismissView:removeView()
- app.room.roomInfo.nShowDismiss = false
- if self.loadingBarTimer then
- cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.loadingBarTimer)
- end
- self:removeFromParent()
- end
-
- return MJRoomDismissView;
|