local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine") local MJSound=MJFramework.MJImport("mj.luaScript.MJSound") local MJRoomDirection = class("MJRoomDirection", cc.UIView) function MJRoomDirection:ctor(desktopType) MJRoomDirection.super.ctor(self); -- self:updateView(desktopType) -- self.desktopType=desktopType -- local ui -- if self.desktopType==MJDefine.DesktopType.ThreeD then -- ui = loadUI("mj/res/ui/ui_fangjian/mj_ui_room_direction.ui") -- else -- ui = loadUI("mj/res/ui/ui_fangjian/mj_ui_room_direction_2d.ui") -- end -- self.ui = ui -- self:addChild(ui) end function MJRoomDirection:onEnter() MJRoomDirection.super.onEnter(self) -- self:initDirection() -- mj_direction.plist --加载表情图片 -- cc.SpriteFrameCache:getInstance():addSpriteFramesWithFile("mj/res/ui/zy_fangjian/mj_direction.plist") end function MJRoomDirection:initDirection(desktopType) -- local nSeatId=roomInfo.nSeatId -- if self.desktopType==MJDefine.DesktopType.ThreeD then -- self:init3DDirection() -- else -- self:init2DDirection() -- end self:updateView(desktopType) self:updateGameNums() self:setVisible(true) end function MJRoomDirection:updateView(desktopType) if self.ui then self.ui:removeFromParent() end self.desktopType=desktopType if self.desktopType==MJDefine.DesktopType.ThreeD then if MJDefine.IS_NEW_3D then local path = "mj/res/ui/ui_fangjian/mj_ui_room_direction_3d.ui" self.ui = loadUI(path) -- self:init3DDirectionNew() else local path = "mj/res/ui/ui_fangjian/mj_ui_room_direction.ui" self.ui = loadUI(path) self:init3DDirection() end else self.ui = loadUI("mj/res/ui/ui_fangjian/mj_ui_room_direction_2d.ui") self:init2DDirection() end self:addChild(self.ui) if self.seatId then self.currentDir=nil self:updateDirection(self.seatId) end end function MJRoomDirection:init3DDirection() if self.desktopType==MJDefine.DesktopType.ThreeD and MJDefine.IS_NEW_3D then -- self:init3DDirection() return end local roomInfo=app.room.roomInfo local nBankSeatId=roomInfo.nBankSeatId local bankViewId=app.room:getViewIdBySeatId(nBankSeatId) if bankViewId==MJDefine.PlayerViewType.My then self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_1.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("3d/mj_dir_3d_1_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("3d/mj_dir_3d_3_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("3d/mj_dir_3d_2_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("3d/mj_dir_3d_4_right.png",cc.TextureResType.plistType) self.direction=MJDefine.MJDirection.East elseif bankViewId==MJDefine.PlayerViewType.Left then self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_4.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("3d/mj_dir_3d_4_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("3d/mj_dir_3d_2_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("3d/mj_dir_3d_1_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("3d/mj_dir_3d_3_right.png",cc.TextureResType.plistType) self.direction=MJDefine.MJDirection.South elseif bankViewId==MJDefine.PlayerViewType.Right then self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_2.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("3d/mj_dir_3d_2_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("3d/mj_dir_3d_4_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("3d/mj_dir_3d_3_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("3d/mj_dir_3d_1_right.png",cc.TextureResType.plistType) self.direction=MJDefine.MJDirection.North elseif bankViewId==MJDefine.PlayerViewType.Top then self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_3.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("3d/mj_dir_3d_3_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("3d/mj_dir_3d_1_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("3d/mj_dir_3d_4_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("3d/mj_dir_3d_2_right.png",cc.TextureResType.plistType) self.direction=MJDefine.MJDirection.West end end function MJRoomDirection:init2DDirection() local roomInfo=app.room.roomInfo local nBankSeatId=roomInfo.nBankSeatId local bankViewId=app.room:getViewIdBySeatId(nBankSeatId) if bankViewId==MJDefine.PlayerViewType.My then self.ui.Items.ImageView_Dir:setEulerRotation(cc.vec3(0,0,0))--("3d/mj_dir_3d_bg_1.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("mj_dir_2d_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("mj_dir_2d_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("mj_dir_2d_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("mj_dir_2d_right.png",cc.TextureResType.plistType) -- self.ui.Items.ImageView_Dir_Down:setEulerRotation(cc.vec3(0,0,0)) -- self.ui.Items.ImageView_Dir_Up:setEulerRotation(cc.vec3(0,0,180)) -- self.ui.Items.ImageView_Dir_Left:setEulerRotation(cc.vec3(0,0,-90)) -- self.ui.Items.ImageView_Dir_Right:setEulerRotation(cc.vec3(0,0,90)) self.direction=MJDefine.MJDirection.East elseif bankViewId==MJDefine.PlayerViewType.Left then -- self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_4.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir:setEulerRotation(cc.vec3(0,0,-90)) self.ui.Items.ImageView_Dir_Down:loadTexture("mj_dir_2d_right.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("mj_dir_2d_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("mj_dir_2d_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("mj_dir_2d_up.png",cc.TextureResType.plistType) -- self.ui.Items.ImageView_Dir_Down:setEulerRotation(cc.vec3(0,0,0)) -- self.ui.Items.ImageView_Dir_Up:setEulerRotation(cc.vec3(0,0,180)) -- self.ui.Items.ImageView_Dir_Left:setEulerRotation(cc.vec3(0,0,-90)) -- self.ui.Items.ImageView_Dir_Right:setEulerRotation(cc.vec3(0,0,90)) self.direction=MJDefine.MJDirection.South elseif bankViewId==MJDefine.PlayerViewType.Right then self.ui.Items.ImageView_Dir:setEulerRotation(cc.vec3(0,0,90)) -- self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_2.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("mj_dir_2d_left.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("mj_dir_2d_right.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("mj_dir_2d_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("mj_dir_2d_down.png",cc.TextureResType.plistType) -- self.ui.Items.ImageView_Dir_Down:setEulerRotation(cc.vec3(0,0,0)) -- self.ui.Items.ImageView_Dir_Up:setEulerRotation(cc.vec3(0,0,180)) -- self.ui.Items.ImageView_Dir_Left:setEulerRotation(cc.vec3(0,0,-90)) -- self.ui.Items.ImageView_Dir_Right:setEulerRotation(cc.vec3(0,0,90)) self.direction=MJDefine.MJDirection.North elseif bankViewId==MJDefine.PlayerViewType.Top then self.ui.Items.ImageView_Dir:setEulerRotation(cc.vec3(0,0,180)) -- self.ui.Items.ImageView_Dir:loadTexture("3d/mj_dir_3d_bg_3.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Down:loadTexture("mj_dir_2d_up.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Up:loadTexture("mj_dir_2d_down.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Left:loadTexture("mj_dir_2d_right.png",cc.TextureResType.plistType) self.ui.Items.ImageView_Dir_Right:loadTexture("mj_dir_2d_left.png",cc.TextureResType.plistType) -- self.ui.Items.ImageView_Dir_Down:setEulerRotation(cc.vec3(0,0,0)) -- self.ui.Items.ImageView_Dir_Up:setEulerRotation(cc.vec3(0,0,180)) -- self.ui.Items.ImageView_Dir_Left:setEulerRotation(cc.vec3(0,0,-90)) -- self.ui.Items.ImageView_Dir_Right:setEulerRotation(cc.vec3(0,0,90)) self.direction=MJDefine.MJDirection.West end end function MJRoomDirection:updateDirection(seatId) if not self.ui then return end self.seatId=seatId self.ui.Items.ImageView_Dir_Down:setVisible(false) self.ui.Items.ImageView_Dir_Up:setVisible(false) self.ui.Items.ImageView_Dir_Left:setVisible(false) self.ui.Items.ImageView_Dir_Right:setVisible(false) local viewId=app.room:getViewIdBySeatId(seatId) -- if self.currentDir then -- self.currentDir:setOpacity(255) -- self.currentDir:stopAllActions() -- end if viewId==MJDefine.PlayerViewType.My then self.ui.Items.ImageView_Dir_Down:setVisible(true) self.currentDir=self.ui.Items.ImageView_Dir_Down elseif viewId==MJDefine.PlayerViewType.Left then self.ui.Items.ImageView_Dir_Left:setVisible(true) self.currentDir=self.ui.Items.ImageView_Dir_Left elseif viewId==MJDefine.PlayerViewType.Right then self.ui.Items.ImageView_Dir_Right:setVisible(true) self.currentDir=self.ui.Items.ImageView_Dir_Right elseif viewId==MJDefine.PlayerViewType.Top then self.ui.Items.ImageView_Dir_Up:setVisible(true) self.currentDir=self.ui.Items.ImageView_Dir_Up end -- if self.currentDir then -- self.currentDir:runAction(cc.RepeatForever:create(cc.Sequence:create(cc.FadeTo:create(1,0),cc.FadeTo:create(1,255)))) -- end local gameInfo = app.room.roomInfo.strGameInfo local ttGameInfo = json.decode(gameInfo) -- 牌桌倒计时 if ttGameInfo.hosting == 1 then self:runShotTime(viewId, tonumber(ttGameInfo.hostingtime) or 10) else self:runShotTime(viewId, 10) end end --倒计时 function MJRoomDirection:runShotTime(viewId,time) local t=time or MJDefine.MJOutTime self.ui.Items.Text_Time:setString(string.format("%02d",t)) self:stopAllActions() self:runAction(cc.RepeatForever:create( cc.Sequence:create( cc.DelayTime:create(1), cc.CallFunc:create(function() t=t-1 if t<0 then t=0 self:stopAllActions() elseif t>0 and t<=3 then if viewId==MJDefine.PlayerViewType.My then MJSound.PlayOutCardTip() end end self.ui.Items.Text_Time:setString(string.format("%02d",t)) end) ) )) end function MJRoomDirection:updateGameNums() if not self.ui or tolua.isnull(self.ui) then return end local roomInfo = app.room.roomInfo local leaveCount = roomInfo.nGameStartCount.."/"..roomInfo.nTotalGameNum--roomInfo.nTotalGameNum - (roomInfo.nGameStartCount or 0) -- local str = string.format("局数%d/%d", curCount, roomInfo.nTotalGameNum) if self.ui.Items.Text_Leave_Game_Num then self.ui.Items.Text_Leave_Game_Num:setText(leaveCount) end --更新牌数 if self.ui.Items.Text_Leave_Card_Num then self.ui.Items.Text_Leave_Card_Num:setText(roomInfo.nLeaveCardNum or 0) end end --隐藏剩余牌 function MJRoomDirection:hideLeftCardNums(isVisble) if MJDefine.IS_NEW_3D and self.desktopType == MJDefine.DesktopType.ThreeD then self.ui.Items.ImageView_4:setVisible(isVisble) end end --隐藏局数 function MJRoomDirection:hideJuShuNum(isVisble) if MJDefine.IS_NEW_3D and self.desktopType == MJDefine.DesktopType.ThreeD then self.ui.Items.ImageView_3:setVisible(isVisble) end end return MJRoomDirection;