|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJRoomPlayerView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomPlayerView")
- local luzhouguiRoomPlayerView = class("luzhouguiRoomPlayerView", MJRoomPlayerView)
-
- function luzhouguiRoomPlayerView:ctor()
- luzhouguiRoomPlayerView.super.ctor(self);
- end
-
- function luzhouguiRoomPlayerView:loadUI()
- local ui = loadUI("mj_luzhougui/res/ui_fangjian/mj_luzhou_playerView.ui");
- self.ui = ui;
- self:addChild(ui);
- end
-
- function luzhouguiRoomPlayerView:onEnter()
- cc.SpriteFrameCache:getInstance():addSpriteFramesWithFile("mj_luzhougui/res/zy_fangjian/mj_luzhou_baoani.plist")
-
- self:loadUI()
-
- self:init()
- self:resetTuoGuanShow()
- end
-
- -- 托管显示
- function luzhouguiRoomPlayerView:resetTuoGuanShow()
- for i=1,4 do
- self.ui.Items["ImageView_tuoguan_"..i]:setVisible(false)
- end
- end
-
- function luzhouguiRoomPlayerView:showTuoGuanByViewId(viewId,bVisible)
- self.ui.Items["ImageView_tuoguan_"..viewId]:setVisible(bVisible)
- end
-
- function luzhouguiRoomPlayerView:init()
- local names =
- {
- player = "Layout_player_%d", -- 头像绿圈根节点
- head = "ImageView_head_%d", -- 头像
- -- headBoarder = "ImageView_head_border_%d", --头像边
- name = "Text_Name_%d", -- 名字
- score = "Text_Score_%d", -- 总分数
- banker = "ImageView_banker_%d", -- 庄家
- readyState = "ImageView_ready_%d", -- 准备
- headInfo = "Layout_PlayerInfo_%d", --个人信息点击触发框
- offLine = "ImageView_offLine_%d", --离线标志
- --其他节点
- arrow = "ImageView_arrow_%d", -- 指示器
- tip = "ImageView_tip_%d", --提示操作图
- huxi = "Text_huxi_%d", --胡息
- qihu = "ImageView_qihu_%d", --弃胡
- bao = "ImageView_bao_%d", --爆
-
- }
- self.allNodes = {}
- self.headSize = {}
- for i = 1,4 do--LHQ_GAME_CONST.LHQ_GAME_CONST_PLAYER do
- local nodes = {}
- --玩家根节点
- local namePlayer = string.format(names.player,i)
- local nodePlayer = self.ui.Items[namePlayer]
- -- nodePlayer:setVisible(false)
- 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]
- nodeBanker:setVisible(false)
- nodes.banker = nodeBanker
-
- --准备
- 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
-
- --指示器
- -- local nameArrow = string.format(names.arrow,i)
- -- local nodeArrow = self.ui.Items[nameArrow]
- -- nodes.arrow = nodeArrow
-
- --tip
- local nameTip = string.format(names.tip,i)
- local nodeTip = self.ui.Items[nameTip]
- nodes.tip = nodeTip
-
- --huxi
- local nameHuxi = string.format(names.huxi,i)
- local nodeHuxi = self.ui.Items[nameHuxi]
- nodes.huxi = nodeHuxi
-
- --弃胡
- local nameQiHu = string.format(names.qihu,i)
- local nodeQiHu = self.ui.Items[nameQiHu]
- nodeQiHu:setVisible(false)
- nodes.qihu = nodeQiHu
-
- --爆
- local nameBao = string.format(names.bao,i)
- local nodeBao = self.ui.Items[nameBao]
- nodeBao:setVisible(false)
- nodes.bao = nodeBao
-
- self.allNodes[i] = nodes
- end
-
- self:initChatComponent()
-
- self.PropAniManager = import("luaScript.Tools.PropAniPlayer"):new(self.ui)
-
- --发送道具
- self:bindEvent(app.room,"showProp" , handler(self , self.showProp));
-
- self:bindEvent(app , MJDefine.MJEvent.ChangeChatEnable , handler(self , self.onChangeChatEnable))
- end
-
- -- 更新玩家基本信息 : 昵称、头像
- -- index :是玩家展示出来的座位号
- function luzhouguiRoomPlayerView:updatePlayerInfo(index)
-
- logE("luzhouguiRoomPlayerView:updatePlayerInfo() index = ", index)
-
- local nodes = self.allNodes[index]
-
- local nUserId = app.room.seatShowList[index]
-
- local roomInfo = app.room.roomInfo
-
- local memberInfo = app.room.roomInfo.memberList[nUserId]
-
- if roomInfo.isEapCreate == 1 then
- local playerInfo = G_EapSdkMgr:getTableUserBaseInfo(nUserId)
- if playerInfo and memberInfo then
- logD("获取电竞Sdk的用户信息并赋值", table.tostring(playerInfo))
- local nPID = playerInfo.nPID --平台账号 id
- local strNickname = playerInfo.strNickname --平台昵称
- local strAvatar = playerInfo.strAvatar --头像url
-
- local userInfo = memberInfo.userInfo
- userInfo.headimgurl = strAvatar
- userInfo.nickname = strNickname
- end
- end
-
- if memberInfo then
-
- --[[if memberInfo.nPlayerFlag == LHQ_GAME_CONST.LHQ_GAME_CONST_ONLOOKER then
- return
- end--]]
-
- nodes.player:setVisible(true)
-
- local userInfo = json.decode(memberInfo.userInfo)
-
- if not userInfo then
- return
- end
-
- -- 玩家名字
- local nickname = userInfo.nickname
- nickname = getSubStringNickname(nickname)
- nodes.name:setText(tostring(nickname))
-
- nodes.score:setText(tostring(memberInfo.nTotalMoney))
- -- 玩家头像
- local nodeHead = nodes.head;
-
- --先设置默认头像
- local width = nodeHead:getContentSize().width
-
- setPlayerHeadImage(nUserId, userInfo.headimgurl, nodeHead)
- else
- nodes.player:setVisible(false)
- nodes.offLine:setVisible(bVisible)
- end
- end
-
- function luzhouguiRoomPlayerView:playBaoAnim(view)
- if self.allNodes[view] and self.allNodes[view].bao then
- self.allNodes[view].bao:setVisible(true)
- -- 加载第一张图片
- local nodeImage = cc.ImageView:createNode()
- nodeImage:loadTexture(string.format("luzhou_bao_%d",1))
- self.allNodes[view].bao:addChild(nodeImage)
- local baoSize = self.allNodes[view].bao:getContentSize()
- nodeImage:setPosition(cc.p(baoSize.width/2-1,baoSize.height/2-2))
-
- -- 循环修改图片
- local everyFrame = 0.1
- local indexFace = 0
- local indexMax = 7
- local action1 = cc.Sequence:create(cc.DelayTime:create(everyFrame),cc.CallFunc:create(function ()
- indexFace = indexFace + 1
- if 0 < indexFace and indexFace <= indexMax then
- else
- indexFace = 1
- end
- local name = string.format("luzhou_bao_%d.png",indexFace)
- if not tolua.isnull(nodeImage) then
- nodeImage:loadTexture(name, cc.TextureResType.plistType)
- end
- end))
- local action2 = cc.Repeat:create(action1, indexMax)
- nodeImage:stopAllActions()
- nodeImage:runAction(cc.RepeatForever:create(action2));
- nodeImage:setVisible(true)
- end
- end
-
- function luzhouguiRoomPlayerView:clearBao()
- for i=1,4 do
- if self.allNodes[i] and self.allNodes[i].bao then
- self.allNodes[i].bao:setVisible(false)
- self.allNodes[i].bao:removeAllChildren()
- end
- end
- end
-
- return luzhouguiRoomPlayerView
|