|
- -- hongzhongRequestStartView.lua
- local MJMessage = MJFramework.MJImport("mj.luaScript.Protocol.MJMessage")
- local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine")
- local hongzhongRequestStartView = class("hongzhongRequestStartView", cc.UIView)
-
- function hongzhongRequestStartView:ctor(initiateUserId)
- hongzhongRequestStartView.super.ctor(self)
- loadSpriteFrameFile("res/ui/zy_fangjian/liangsanren/liangsanren.plist")
- self.m_initiateUserId = initiateUserId
- self.listItems = {}
- self:loadUi()
- end
-
- function hongzhongRequestStartView:loadUi()
- self.ui = loadUI("res/ui/ui_fangjian/ui_fangjian_quickstart.ui")
- self:addChild(self.ui)
- self:initUi()
- end
-
- function hongzhongRequestStartView:initUi( )
- -- 同意
- self.ui.Items.Button_1:registerClick(handler(self , self.onClickAgree))
- -- 拒绝
- self.ui.Items.Button_2:registerClick(handler(self , self.onClickRefuse))
- self:setBtnEnabled( not app.room:isMyself(self.m_initiateUserId))
- self.ui.Items.Text_3:setString("")
- end
-
- function hongzhongRequestStartView:setBtnEnabled( is )
- self.ui.Items.Button_1:setVisible( is )
- self.ui.Items.Button_2:setVisible( is )
- end
-
- -- info{uid=1, nick="", headUrl="", status=1}
- function hongzhongRequestStartView:showItems(data)
- self.listItems = {}
- self.ui.Items.Layout_3:removeAllChildren()
- if data == nil or data.pList == nil then return "" end
- local memberList = {}
- for _,v in pairs(data.pList) do
- local info = app.room.roomInfo.memberList[v.nUserId]
- local t = {}
- t.userInfo = info.userInfo
- t.nStatus = v.nStatus
- t.nUserId = v.nUserId
- memberList[v.nUserId] = t
- end
- local tmp = {}
- for uid,v in pairs(memberList) do
- if v and v.userInfo then
- local info = json.decode(v.userInfo)
- table.insert(tmp, {uid=tonumber(uid), nick=info.nickname, headUrl=info.headimgurl, status=v.nStatus})
- end
- end
- if #tmp>=2 then table.sort(tmp,function(a, b) return a.uid<b.uid end) end
- for i,v in ipairs(tmp) do
- local node = self:createItem(v)
- self.listItems[v.uid] = node
- self.ui.Items.Layout_3:addChild(node)
- end
- self:updateBar(data.timeOut, 60)
- end
-
- function hongzhongRequestStartView:updateView( data )
- local list = data.pList
- for _,v in pairs(list) do
- local node = self.listItems[v.nUserId]
- if node then
- node:updateImg(v.nStatus)
- if app.room:isMyself(v.nUserId) and v.nStatus~=4 then
- self:setBtnEnabled(false)
- end
- end
- end
- self:updateBar(data.timeOut, 60)
- end
-
- -- 设置发起者昵称
- function hongzhongRequestStartView:setRequestNick( info )
- self.ui.Items.Text:setString('['.. (getSubStringNickname(info.nickname) or "") ..']')
- end
-
- -- 时间
- function hongzhongRequestStartView:updateBar( time, totalTime )
- if self.loadingBarTimer == nil then
- self.loadingBarTimer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function()
- time = time - 1
- if self.ui.Items.Text_3 then
- self.ui.Items.Text_3:setString(string.format("%d", time))
- end
- end,1.0,false)
- else
- cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.loadingBarTimer)
- self.loadingBarTimer = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function()
- time = time - 1
- if self.ui.Items.Text_3 then
- self.ui.Items.Text_3:setString(string.format("%d", time))
- end
- end,1.0,false)
- end
- end
-
- -- 同意
- function hongzhongRequestStartView:onClickAgree(sender)
- playBtnEffect()
- local request = MJMessage.FastStartRequest:new()
- request.tp = 2
- self.ui:sendMsg(app.room, MJDefine.MJEvent.RequestFastsStart, request)
- end
-
- -- 拒绝
- function hongzhongRequestStartView:onClickRefuse(sender)
- playBtnEffect()
- local request = MJMessage.FastStartRequest:new()
- request.tp = 3
- self.ui:sendMsg(app.room, MJDefine.MJEvent.RequestFastsStart, request)
- end
-
- function hongzhongRequestStartView:removeSelf()
- self:removeFromParent()
- end
-
- function hongzhongRequestStartView:onEnter()
- hongzhongRequestStartView.super.onEnter(self)
- local askInfo = app.room.roomInfo.memberList[self.m_initiateUserId]
- if askInfo then
- local userInfo = json.decode(askInfo.userInfo)
- self:setRequestNick({nickname = userInfo.nickname})
- end
- end
-
- function hongzhongRequestStartView:onExit()
- if self.loadingBarTimer then
- cc.Director:getInstance():getScheduler():unscheduleScriptEntry(self.loadingBarTimer)
- self.loadingBarTimer = nil
- end
- end
-
- -- info{uid=1, nick="", headUrl="", status=1}
- function hongzhongRequestStartView:createItem( info )
- local node = loadUI("res/ui/ui_fangjian/ui_fangjian_quickstartItem.ui")
- node.headImg = node.Items.ImageView_touxiang
- node.nickName = node.Items.Text_mingzi
- node.statusImg = node.Items.ImageView
- node.updateImg = function(nd, status)
- if nd.statusImg then
- --1申请 2同意 3 拒绝 4初始状态
- if status == 4 then
- nd.statusImg:loadTexture("kszj_lab_dengdaizhong.png", 1)
- elseif status == 2 then
- nd.statusImg:loadTexture("kszj_lab_tongyi.png", 1)
- elseif status == 3 then
- nd.statusImg:loadTexture("kszj_lab_jujue.png", 1)
- elseif status == 1 then --发起者
- nd.statusImg:loadTexture("kszj_lab_tongyi.png", 1)
- end
- end
- end
- if info and type(info)=='table' then
- setPlayerHeadImage(info.uid, info.headUrl, node.headImg)
- node.nickName:setString(getSubStringNickname(info.nick) or "")
- node:updateImg(info.status)
- if app.room:isMyself(info.uid) and info.status~=4 then
- self:setBtnEnabled(false)
- end
- end
- return node
- end
-
- return hongzhongRequestStartView
|