|
- local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
- local ZPMessage = ZPFramework.ZPImport("zp_base.luaScript.Protocol.ZPMessage")
- local ZPFuc = ZPFramework.ZPImport("zp_base.luaScript.ZPFunctions")
-
- local ZPRoomPlayerView = ZPFramework.ZPFrameworkClassImprot("zp_base.luaScript.Views.Room.ZPRoomPlayerView")
- local hejiangRoomPlayerView = class("hejiangRoomPlayerView", ZPRoomPlayerView)
-
- function hejiangRoomPlayerView:ctor( ... )
- hejiangRoomPlayerView.super.ctor(self)
- end
-
- function hejiangRoomPlayerView:loadUI()
- local ui = loadUI("zp_hejiang/res/ui/ui_fangjian/hejiang_ui_PlayerView.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function hejiangRoomPlayerView:onEnter()
- hejiangRoomPlayerView.super.onEnter(self)
-
- end
-
-
- function hejiangRoomPlayerView:initPlayerNodes()
- -- 玩家节点名称模板
- local names =
- {
- player = "Layout_player_%d", -- 头像绿圈根节点
- head = "ImageView_head_%d", -- 头像
- headBoarder = "ImageView_head_border_%d", --头像边
- name = "Text_Name_%d", -- 名字
- score = "TextBMFont_Score_%d", -- 总分数
- banker = "ImageView_banker_%d", -- 庄家
- owner = "ImageView_owner_%d", --房主
- readyState = "ImageView_ready_%d", -- 准备
- headInfo = "Layout_headInfo_%d", --个人信息点击触发框
- offLine = "ImageView_offLine_%d", --离线标志
- --其他节点
- tip = "ImageView_tip_%d", --提示操作图
- huxi = "TextBMFont_huxi_%d", --胡息
- clock = "ImageView_clock_%d", --闹钟
- txtClocl = "TextBMFont_clock_%d", --闹钟时间
- bao = "ImageView_bao_%d", --爆
- offLineTime = "Text_offLineTime_%d", --离线时间
- offLineTimeBg = "ImageView_txkYY_%d", --离线时间背景
- leftCardBg = "ImageView_LeftCardBg_%d", --剩余手牌背景
- leftCardNum = "TextBMFont_LeftCardNum_%d", --剩余手牌数量
- arrow = "ImageView_arrow_%d", --箭头
- tuoguan = "ImageView_tuoguan_%d", --托管标志
- }
- self.allNodes = {}
- self.headSize = {}
- for i = 1,ZPDef.GameMaxPlayer do
- local nodes = {}
- --玩家根节点
- local namePlayer = string.format(names.player,i)
- local nodePlayer = self.ui.Items[namePlayer]
- nodes.player = nodePlayer
-
- --头像
- local nameHead = string.format(names.head,i)
- local nodeHead = self.ui.Items[nameHead]
- nodes.head = nodeHead
- nodeHead:setTouchEnabled(true)
- nodeHead:registerClick(function()
- self:onClickHead(i)
- end)
-
- local headBoarder = string.format(names.headBoarder,i)
- local nodeheadBoarder = self.ui.Items[headBoarder]
- nodes.headBoarder = nodeheadBoarder
-
- -- 需要记录头像的原始尺寸
- if not self.headSize.width then
- self.headSize.width = nodeHead:getContentSize().width
- self.headSize.height = nodeHead:getContentSize().height
- end
-
- --昵称
- local nickName = string.format(names.name,i)
- local nodeName = self.ui.Items[nickName]
- nodes.name = nodeName
- nodeName:setText("")
-
- --总分
- local nickScore = string.format(names.score,i)
- local nodeScore = self.ui.Items[nickScore]
- nodes.score = nodeScore
-
- --庄家
- local nameBanker = string.format(names.banker,i)
- local nodeBanker = self.ui.Items[nameBanker]
- nodes.banker = nodeBanker
- nodes.banker.pos = nodeBanker:getPosition()
-
- --房主
- local nameOwner = string.format(names.owner,i)
- local nodeOwner = self.ui.Items[nameOwner]
- nodes.owner = nodeOwner
- nodes.owner.pos = nodeOwner:getPosition()
-
- --准备
- local nameReadyState = string.format(names.readyState,i)
- local nodeReadyState = self.ui.Items[nameReadyState]
- nodes.readyState = nodeReadyState
-
- --头像信息
- local headInfo = string.format(names.headInfo,i)
- local nodeheadInfo = self.ui.Items[headInfo]
- nodes.headInfo = nodeheadInfo
-
- --离线信息
- local offLine = string.format(names.offLine,i)
- local nodeoffLine = self.ui.Items[offLine]
- nodes.offLine = nodeoffLine
-
- --tip
- local nameTip = string.format(names.tip,i)
- local nodeTip = self.ui.Items[nameTip]
- nodes.tip = nodeTip
-
- --胡息
- local nameHuxi = string.format(names.huxi,i)
- local nodeHuxi = self.ui.Items[nameHuxi]
- nodes.huxi = nodeHuxi
-
- --爆
- local nameBao = string.format(names.bao,i)
- local nodeBao = self.ui.Items[nameBao]
- nodes.bao = nodeBao
-
- --闹钟
- local nameClock = string.format(names.clock,i)
- local nodeClock = self.ui.Items[nameClock]
- nodes.clock = nodeClock
- --闹钟时间
- local nametxtClock = string.format(names.txtClocl,i)
- local nodetxtClock = self.ui.Items[nametxtClock]
- nodes.txtclock = nodetxtClock
-
- --离线时间
- local nameoffLineTime = string.format(names.offLineTime,i)
- local nodeoffLineTime = self.ui.Items[nameoffLineTime]
- nodes.offLineTime = nodeoffLineTime
-
- --离线时间背景
- local nameoffLineTimeBg = string.format(names.offLineTimeBg,i)
- local nodeoffLineTimeBg = self.ui.Items[nameoffLineTimeBg]
- nodes.offLineTimeBg = nodeoffLineTimeBg
- nodes.offLineTimeBg:setVisible(false)
-
- --剩余手牌背景
- local nameleftCardBg = string.format(names.leftCardBg,i)
- local nodeleftCardBg = self.ui.Items[nameleftCardBg]
- nodes.leftCardBg = nodeleftCardBg
-
- --剩余手牌数量
- local nameleftCardNum = string.format(names.leftCardNum,i)
- local nodeleftCardNum = self.ui.Items[nameleftCardNum]
- nodes.leftCardNum = nodeleftCardNum
-
- local namearrow = string.format(names.arrow,i)
- local nodearrow = self.ui.Items[namearrow]
- nodes.arrow = nodearrow
-
- --托管状态
- local nametuoguan = string.format(names.tuoguan,i)
- local nodetuoguan = self.ui.Items[nametuoguan]
- nodes.tuoguan = nodetuoguan
-
- self.allNodes[i] = nodes
- end
-
- self:setAllClockVisible(false)
- self:setOwnerVisible()
- self:stopAndHideBaoAnim()
- self:setXiaoJiaFlagVis(false)
- self:hideLeftCard()--隐藏剩余牌
- --小家不显示胡数
- self.ui.Items.ImageView_hushu_2:setVisible(false)
- self.ui.Items.TextBMFont_huxi_2:setVisible(false)
- end
-
-
- function hejiangRoomPlayerView:setArrowStateVisible(bVisible)
- for i = 1,ZPDef.GameMaxPlayer do
- self.allNodes[i].arrow:setVisible(bVisible)
- self.allNodes[i].arrow:stopAllActions()
- local txt = self.allNodes[i].arrow:getChildren()[1]
- if txt then
- txt:stopAllActions()
- end
- end
- end
-
- function hejiangRoomPlayerView:showArrowByViewId(viewId,bVisible,severTime)
- if self.allNodes[viewId] and self.allNodes[viewId].arrow and ZPFuc.getIsDelayTimeTip() then
- local txt = self.allNodes[viewId].arrow:getChildren()[1]
- self.allNodes[viewId].arrow:stopAllActions()
- if txt then
- txt:stopAllActions()
- local str = string.format("拖延%02d:%02d",0,0)
- txt:setText(str)
- end
-
- local function updateTime()
- local time = severTime or 0
- local seq = cc.Sequence:create(cc.DelayTime:create(1.0),cc.CallFunc:create(function ()
- time = time + 1
- local min = math.floor(time/60)
- local sec = time - 60 * min
- local str = string.format("拖延%02d:%02d",min,sec)
- if txt then
- txt:setText(str)
- end
- end))
- txt:runAction(cc.RepeatForever:create(seq))
- end
-
- if bVisible then
- local delTime = 9
- if severTime and severTime >= 8 then
- severTime = severTime - 9
- delTime = 0
- end
- self.allNodes[viewId].arrow:runAction(cc.Sequence:create(cc.DelayTime:create(delTime),cc.CallFunc:create(function ()
- self.allNodes[viewId].arrow:setVisible(bVisible)
- updateTime()
- end)))
- else
- self.allNodes[viewId].arrow:setVisible(bVisible)
- end
- end
- end
-
- --托管标签状态显示
- function hejiangRoomPlayerView:setTuoGuanFlagVisible(flag)
- flag = flag or false
- for i = 1,4 do
- if self.allNodes[i] and self.allNodes[i].tuoguan then
- self.allNodes[i].tuoguan:setVisible(flag)
- end
- end
- end
-
- function hejiangRoomPlayerView:showTuoGuanByViewId(viewId,bVisible)
- if not viewId then return end
- bVisible = bVisible or false
- if self.allNodes[viewId] and self.allNodes[viewId].tuoguan then
- self.allNodes[viewId].tuoguan:setVisible(bVisible)
- end
- end
-
- return hejiangRoomPlayerView
|