|
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJ=MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
- local MJWanFa=MJFramework.ImportWanFa("luaScript.SubGameDefine.MaJiang.MJWanFa")
- local MJRoomXiaoJuView = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomXiaoJuView")
- -- 房间设置界面
- local hongzhongRoomXiaoJuView = class("hongzhongRoomXiaoJuView", MJRoomXiaoJuView)
-
-
-
- local MJ_WIDTH=47
- --起始位置
- local MJ_HAND_CARD_INIT_X = 150 * g_radio_x
- local MJ_HAND_CARD_INIT_Y = 50 * g_radio_y
- local MJ_GROUP_CARD_INIT_X = 100 * g_radio_x
-
- --麻将组间隔
- local MJ_GROUP_PADDING_X=0
- --麻将直接间隔
- local MJ_PADDING_X=-3
- --胡牌麻将间隔
- local MJ_HU_X=8
- --暗杠上面的牌Y轴偏移量
- local GANG_OFFSET_Y=16
-
- function hongzhongRoomXiaoJuView:ctor()
- hongzhongRoomXiaoJuView.super.ctor(self)
- --self:loadUI()
-
- --添加扎鸟UI
- -- local ui = loadUI("hongzhong/res/ui_fangjian/hongzhong_ui_xiaoju.ui")
- -- self.zhaniaoUI = ui
- -- self.ui.Items.Layout_Content:addChild(ui)
- --获取红中设置参数里的麻将颜色
- self.mjColor = loadUserInfo("hongzhong_mj_color") or MJDefine.DesktopType.TwoDGold
- self:changeHandCardY(50 * g_radio_y)
- end
-
- function hongzhongRoomXiaoJuView:loadUI()
- local ui = loadUI("hongzhong/res/ui_fangjian/hongzhong_ui_xiaoju.ui")
- self.ui = ui
- self:addChild(ui)
- end
-
- function hongzhongRoomXiaoJuView:setPlayerItemInfo(ui,player)
- hongzhongRoomXiaoJuView.super.setPlayerItemInfo(self,ui,player)
- local roomInfo = app.room.roomInfo
- local nodeResult= ui.Items["Text_ResultInfo"]
- local nodeBg= ui.Items["ImageView_ItemBg"]
- local strResult=""
-
- local benJuScore = "TextBMFont_Score"
- local benJuScore1 = "Text_Score"
- local nodeBenJu = ui.Items[benJuScore]
- local bmFontScore = true
- if not nodeBenJu then
- nodeBenJu = ui.Items[benJuScore1]
- bmFontScore = false
- end
-
- local gameInfo=json.decode(roomInfo.strGameInfo)
- if gameInfo.piaotype and tonumber(gameInfo.piaotype)==1 and player.nPiaoNum>-1 then
- if player.nPiaoNum==0 then
- strResult=strResult=="" and "不飘 " or strResult.." 不飘"
- else
- strResult=strResult=="" and "飘分"..player.nPiaoNum.." " or strResult.." 飘分"..player.nPiaoNum
- end
- end
-
- if app.room.roomInfo.scoreCntMap and app.room.roomInfo.scoreCntMap[tostring(player.nUserId)] then
- strResult=strResult..app.room.roomInfo.scoreCntMap[tostring(player.nUserId)]
- end
- -- if then return end
-
-
- nodeResult:setVisible(true)
- nodeResult:setString(strResult)
-
- if tonumber(player.nTurnScore) > 0 then
- nodeBg:loadTexture("mj_xiao_ju1_item_hu_bg.png",cc.TextureResType.plistType)
- nodeBg:setVisible(true)
- else
- nodeBg:setVisible(false)
- end
-
- if tonumber(player.nTurnScore) > 0 then
- nodeBenJu:setText("+"..player.nTurnScore)
- else
- nodeBenJu:setText(player.nTurnScore)
- if tonumber(player.nTurnScore)<0 and bmFontScore == true then
- nodeBenJu:setFntFile("res/fonts/dt_jian_num.fnt")
- end
- end
-
-
- if player.result~=MJDefine.MJGameResultType.Win then
- return
- end
-
-
- local resultInfo=json.decode(roomInfo.strResultInfo)
-
- -- resultInfo.zhongniaocards=" 0x01"
- local huImg=ui.Items.ImageView_Hu
- -- huImg:setPositionX(huImg:getPositionX()+40)
- -- 不在这里显示中鸟了,小局下面已经显示了 屏蔽by yuncai
- --[[local zhongniaocards=string.ltrim(resultInfo.zhongniaocards)
- local tabZhongniaocards=string.split(zhongniaocards," ")
- if resultInfo.zhongniaocards~="" and #tabZhongniaocards>0 then
- local zhongNiao=cc.Sprite:create("hongzhong/res/zy_fangjian/hongzhong_zhong_niao.png")
- ui.Items.Layout_Player:addChild(zhongNiao)
-
- local y=ui.Items.Layout_Player:getContentSize().height/2
- zhongNiao:setPosition(825,y)
-
- if #tabZhongniaocards>4 then
- y=ui.Items.Layout_Player:getContentSize().height/2+28
- end
-
- local x=0
- for k,v in pairs(tabZhongniaocards) do
- local mj=MJ:new(v,MJDefine.MJType.Out,MJDefine.MyViewId)
- mj:setScale(0.8)
- ui.Items.Layout_Player:addChild(mj)
- local mjWidth=mj:getContentSize().width*0.8
- local mjHeight=mj:getContentSize().height
- local index=k%4
- if k==4 then
- index=4
- end
- index=index==0 and 1 or index
-
- x=825+index*(mjWidth+MJ_PADDING_X)+20
- if k>4 then
- mj:setPosition(x,y-48)
- else
- mj:setPosition(x,y)
- end
- end
- else
-
- end--]]
- end
-
-
- function hongzhongRoomXiaoJuView:initOther()
- -- hongzhongRoomXiaoJuView.super.initOther(self)
-
- local roomInfo = app.room.roomInfo
-
- self.ui.Items.Text_Round:setText("局数:"..roomInfo.nGameStartCount..'/'..roomInfo.nTotalGameNum)
- --房号
- self.ui.Items.Text_RoomNum:setText("房号:"..roomInfo.nShowTableId)
-
- local resultInfo=json.decode(roomInfo.strResultInfo)
-
- --规则
- local ruleAll = MJWanFa.getWanFaInfo(roomInfo.strGameInfo)
-
- local item = self.ui.Items.Text_Rule:getCopied()
- item:setVisible(true)
- item:setText(ruleAll)
-
- self.ui.Items.ListView:addChild(item)
- self.ui.Items.ListView:hideAllBar()
- self.ui.Items.ListView:getInnerContainer():setAutoSize(true)
- self.ui.Items.ListView:requestDoLayout();
- self.ui.Items.ListView:doLayout();
-
- --时间
- self.ui.Items.Text_Time:setText(os.date("%m-%d %X"))--(getTimeString())
-
- local zhaniaocards=string.ltrim(resultInfo.zhaniaocards)
- local tabZhaniaocards=string.split(zhaniaocards," ")
- if resultInfo.zhaniaocards=="" then
- tabZhaniaocards={}
- end
-
-
- local zhongniaocards=string.ltrim(resultInfo.zhongniaocards)
- local tabZhongniaocards=string.split(zhongniaocards," ")
- if resultInfo.zhongniaocards=="" then
- tabZhongniaocards={}
- end
-
- if #tabZhaniaocards>0 then
- for k,v in pairs(tabZhaniaocards) do
- local mj=MJ:new(v,MJDefine.MJType.Stand,MJDefine.MyViewId)
- mj:setScale(0.5)
- self.ui.Items.Layout_Niao:addChild(mj)
- local mjWidth=mj:getContentSize().width*0.5
- local mjHeight=mj:getContentSize().height*0.5
- local x=mjWidth/2+(k-1)*(mjWidth+MJ_PADDING_X)
- local y=mjHeight/2+20
- mj:setPosition(x,y)
- mj:setStatus(MJDefine.MJStatus.Select)
-
- local niaoImg=cc.Sprite:create("hongzhong/res/zy_fangjian/hongzhong_niao2.png")
- mj:addChild(niaoImg)
- niaoImg:setScale(2)
- niaoImg:setPosition(mj:getContentSize().width/2,mj:getContentSize().height)
-
- for index,niao in pairs(tabZhongniaocards) do
- if v==niao then
- niaoImg:setTexture("hongzhong/res/zy_fangjian/hongzhong_niao1.png")
- mj:setStatus(MJDefine.MJStatus.Normal)
- table.remove(tabZhongniaocards,index)
- break
- end
- end
- end
- end
-
- end
-
- function hongzhongRoomXiaoJuView:createChi(values)
- local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
- node:setAnchorPoint(cc.p(0.5,0.5))
- node:ignoreAnchorPointForPosition(false)
- local width=0
- local height=0
-
- for i=1,3 do
- if values[i] then
- local mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId,self.mjColor)
- node:addChild(mj)
- local mjWidth=mj:getContentSize().width
- local mjHeight=mj:getContentSize().height
- local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
- local y=mjHeight/2
- width=width+mjWidth
- height=mjHeight
- mj:setPosition(x,y)
- end
- end
- node:setContentSize(cc.size(width,height))
- return node
- end
-
- function hongzhongRoomXiaoJuView:createGang(values)
- local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
- node:setAnchorPoint(cc.p(0.5,0.5))
- node:ignoreAnchorPointForPosition(false)
- local width=0
- local height=0
- for i=1,4 do
- if values[i] then
- local mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId,self.mjColor)
- node:addChild(mj)
- local mjWidth=mj:getContentSize().width
- local mjHeight=mj:getContentSize().height
- local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
- local y=mjHeight/2
- width=width+mjWidth
- height=mjHeight
- mj:setPosition(x,y)
- end
- end
- node:setContentSize(cc.size(width,height))
- return node
- end
-
- function hongzhongRoomXiaoJuView:createAnGang(values)
- local node=cc.Layer:create()--Color:create(cc.c4b(255,0,0,255))
- node:setAnchorPoint(cc.p(0.5,0.5))
- node:ignoreAnchorPointForPosition(false)
- local width=0
- local height=0
-
- for i=1,4 do
- if values[i] then
- local mj
- local mjWidth
- local mjHeight
- if i<=3 then
- mj=MJ:new(values[i],MJDefine.MJType.OutBlack,MJDefine.MyViewId,self.mjColor)
- if self.mjColor == MJDefine.DesktopType.TwoDGold then
- mj:setAutoSize(false)
- mj:setSize(cc.size(36,55))
- mjWidth, mjHeight = 36, 55
- elseif self.mjColor == MJDefine.DesktopType.TwoD then
- mj:setAutoSize(false)
- mj:setSize(cc.size(47,68))
- mjWidth, mjHeight = 47,68
- end
- else
- mj=MJ:new(values[i],MJDefine.MJType.Out,MJDefine.MyViewId,self.mjColor)
- end
- node:addChild(mj)
- local mjWidth= mjWidth or mj:getContentSize().width
- local mjHeight= mjHeight or mj:getContentSize().height
- local x=mjWidth/2+(i-1)*(mjWidth+MJ_PADDING_X)
- local y=mjHeight/2
- if i <= 3 then
- y = y + 4
- end
- width=width+mjWidth
- height=mjHeight
- mj:setPosition(x,y)
- end
- end
- node:setContentSize(cc.size(width,height))
- return node
- end
-
-
- function hongzhongRoomXiaoJuView:createHandCards(layer,arg,seatId)
- --红中摆前面
- local temp1={}
- local temp2={}
-
- for k,v in pairs(arg) do
- if v.card==0x41 then
- table.insert(temp1,v)
- else
- table.insert(temp2,v)
- end
- end
-
- local cards={}
- table.insertTo(cards,temp1)
- table.insertTo(cards,temp2)
-
- for k,v in pairs(cards) do
- local mj=MJ:new(v.card,MJDefine.MJType.Out,MJDefine.MyViewId, self.mjColor)
- layer:addChild(mj)
- mj:setPosition(cc.p(self.initX[seatId],MJ_HAND_CARD_INIT_Y))
- self.initX[seatId]=self.initX[seatId]+mj:getContentSize().width + MJ_PADDING_X
- end
- for i,v in pairs(layer:getChildren()) do
- --[[if v and v.newValue then
- print("v.newValue ================= "..v.newValue)
- end--]]
- if tonumber(v.newValue) == 41 then
- local laiFlog = cc.Sprite:createWithSpriteFrameName("mj_flog_laizi_out.png")
- laiFlog:setScale(0.7)
- --laiFlog:setTag(MJ.MJ_HAND_CARD_FLAG_LAIZI)
- v:addChild(laiFlog)
- if self.mjColor == MJDefine.DesktopType.TwoDGold then
- laiFlog:setPosition(14,45)
- else
- laiFlog:setPosition(14,61)
- end
-
- end
- end
- end
-
- function hongzhongRoomXiaoJuView:createHuCard(layer,card,seatId)
- local mj=MJ:new(card,MJDefine.MJType.Out,MJDefine.MyViewId, self.mjColor)
- layer:addChild(mj)
- mj:setPosition(cc.p(self.initX[seatId], MJ_HAND_CARD_INIT_Y))
- self.initX[seatId]=self.initX[seatId] + mj:getContentSize().width + MJ_PADDING_X
-
- local flag = cc.Sprite:create("mj/res/ui/zy_fangjian/mj_hu_flag.png")
- mj:addChild(flag)
-
- if self.mjColor == MJDefine.DesktopType.TwoDGold then
- flag:setPosition(cc.p(16,40))
- else
- flag:setPosition(cc.p(16,55))
- end
- end
-
- -- 分辨率改变回调(针对部分机型切后台后,导致牌数据位置不对(宽高分辨率对调了),暂时处理部分游戏)
- function hongzhongRoomXiaoJuView:applicationScreenSizeChanged()
- if not next(self.items) then
- return
- end
-
- MJ_HAND_CARD_INIT_X=150 * g_radio_x
- MJ_HAND_CARD_INIT_Y=50 * g_radio_y
- MJ_GROUP_CARD_INIT_X=100 * g_radio_x
-
- hongzhongRoomXiaoJuView.super.applicationScreenSizeChanged(self)
- end
-
- return hongzhongRoomXiaoJuView
|