|
- local PKDef = PKFramework.PKImport("pk_base.luaScript.PKDef")
- local PKFuc = PKFramework.PKImport("pk_base.luaScript.PKFunctions")
- local PKSound = PKFramework.PKImport("pk_base.luaScript.PKSound")
- local PKMessage = PKFramework.PKImport("pk_base.luaScript.Protocol.PKMessage")
-
- local PKRoomOperationView = class("PKRoomOperationView", cc.UIView)
-
- function PKRoomOperationView:ctor(parent)
- PKRoomOperationView.super.ctor(self);
- self.parent = parent
- end
-
- function PKRoomOperationView:onEnter()
- PKRoomOperationView.super.onEnter(self)
-
- local ui = loadUI("pk_base/res/ui/ui_fangjian/pk_ui_operation.ui");
- self.ui = ui;
- self:addChild(ui);
-
-
- self.ui.Items.Button_Choice:registerClick(nil,function ()
- playBtnEffect()
- if self.selectCard == 0 then
- showTooltip("请选择一张牌")
- else
- app.room:requestCallCard(self.selectCard)
- end
- end)
-
- self.ui.Items.Button_Choice_Sure:registerClick(nil,function ()
- playBtnEffect()
- if table.nums(self.cardList) <= 0 then
- showTooltip("请选择一组牌")
- else
- logD("list:",table.tostring(self.cardList))
- logD("srcList:",table.tostring(self.srcCardList))
- self:setChoiceCardView(false)
- app.room:requestSendOutCard(1,self.srcCardList,self.cardList)
- local tpCardInfo = PKFuc.getCardType(self.cardList)
- self.parent:createOutCard(PKDef.MyViewID, self.cardList, tpCardInfo[1].cardType, false, self.srcCardList);
- end
- end)
-
-
- --包牌
- self.ui.Items.Button_BaoPai:registerClick(nil,function ()
- playBtnEffect()
- local content = string.format("是否确认包牌吗?")
- local okCallBack = function ()
- if self.parent:getTuoGuanState() == true then
- self:hideSelf()
- return
- end
- app.room:requestBaoPai(PKDef.BaoPai.BAOPAI)
- self:hideSelf()
- end
- local cancelCallBack = function ()
-
- end
- showConfirmDialog(content,okCallBack,cancelCallBack)
- end)
-
- --不包
- self.ui.Items.Button_BuBao:registerClick(function ()
- playBtnEffect()
- self:hideSelf()
- app.room:requestBaoPai(PKDef.BaoPai.BUBAO)
- end)
-
-
- --反包
- self.ui.Items.Button_FanBao:registerClick(nil,function ()
- playBtnEffect()
- local content = string.format("是否确认反包?")
- local okCallBack = function ()
- app.room:requestBaoPai(PKDef.BaoPai.FANBAO)
- self:hideSelf()
- end
- local cancelCallBack = function ()
-
- end
- showConfirmDialog(content,okCallBack,cancelCallBack)
- end)
-
- --不反
- self.ui.Items.Button_BuFan:registerClick(function ()
- playBtnEffect()
- self:hideSelf()
- app.room:requestBaoPai(PKDef.BaoPai.BUFAN)
- end)
-
- --出牌
- self.ui.Items.Button_OutCard:registerClick(function ()
- playBtnEffect()
- self.parent:sendOutCard()
- end)
-
- --提示
- self.ui.Items.Button_Tip:registerClick(function ()
- playBtnEffect()
- self.parent:onTiShiClick()
- end)
-
- --不出
- self.ui.Items.Button_NoOut:registerClick(function ()
- playBtnEffect()
- self.parent:sendNoOutCard()
- end)
-
- self.srcWidth = self.ui.Items.Layout_ChoiceCardType:getContentSize().width
- self.srcHeight = self.ui.Items.Layout_ChoiceCardType:getContentSize().height
-
- self:hideSelf(true)
- end
-
- function PKRoomOperationView:setLayoutBaoPaiView(bVisible)
- self:hideSelf()
- self.ui.Items.Layout_BaoPai:setVisible(bVisible)
- end
-
- function PKRoomOperationView:setLayoutFanPaoView(bVisible)
- self:hideSelf()
- self.ui.Items.Layout_FanBao:setVisible(bVisible)
- end
-
- function PKRoomOperationView:setOperatorPanelView(bVisible,opType)
- self:hideSelf()
- self.ui.Items.Layout_operatorPanel:setVisible(bVisible)
- --0-只能pass 1-可以选择出也可以不出 2-必须出牌
- if opType == 0 then
- self.ui.Items.Layout_NoOut:setVisible(true)
- self.ui.Items.Layout_Tip:setVisible(false)
- self.ui.Items.Layout_OutCard:setVisible(false)
- elseif opType == 1 then
- self.ui.Items.Layout_NoOut:setVisible(true)
- self.ui.Items.Layout_Tip:setVisible(true)
- self.ui.Items.Layout_OutCard:setVisible(true)
- elseif opType == 2 then
- self.ui.Items.Layout_NoOut:setVisible(false)
- self.ui.Items.Layout_Tip:setVisible(true)
- self.ui.Items.Layout_OutCard:setVisible(true)
- end
-
- self.ui.Items.Layout_operatorPanel:requestDoLayout()
- self.ui.Items.Layout_operatorPanel:doLayout()
- end
-
- function PKRoomOperationView:setPlayerView(view)
- self.playerView = view
- end
-
- function PKRoomOperationView:setCallCardView(bVisible,cardList,callCard,isNotShowAni)
- self.ui.Items.Layout_CallCard:setVisible(bVisible)
-
- self.ui.Items.Layout_Card:setVisible(false)
- self.ui.Items.Layout_Banker:setVisible(false)
- self.ui.Items.ImageView_CallCardBg:setVisible(false)
- self.ui.Items.ImageView_WaitBanker:setVisible(false)
-
- self.ui.Items.Layout_JiaoPai:removeAllChildren()
- self.selectCard = 0
-
- if not bVisible then
- return
- end
-
- if callCard then
- self.ui.Items.ImageView_CallCardBg:setVisible(true)
- local file = PKFuc.getPKCardImgByValue(callCard)
- self.ui.Items.ImageView_ChoiceCard:loadTextureFromPlist(file)
- if not isNotShowAni then
- self.ui.Items.ImageView_ChoiceCard:setScale(0)
- local viewId = app.room:getViewIdByUserId(app.room.roomInfo.nBankerUserId)
- local srcPos = self.ui.Items.ImageView_ChoiceCard:getPosition()
- local pos = cc.p(self.playerView.allNodes[viewId].head:getContentSize().width/2 ,
- self.playerView.allNodes[viewId].head:getContentSize().height/2)
- local worldPos = self.playerView.allNodes[viewId].head:convertToWorldSpace(pos)
- local posInPlayer = self.ui.Items.ImageView_ChoiceCard:getParent():convertToNodeSpace(worldPos)
- local cententPos = self.ui.Items.ImageView_ChoiceCard:getParent():convertToNodeSpace(cc.p(getWinSize().width/2,getWinSize().height/2))
- self.ui.Items.ImageView_ChoiceCard:setPosition(posInPlayer)
- local spawn = cc.Spawn:create(cc.MoveTo:create(0.3,cententPos),cc.ScaleTo:create(0.3,3))
- local spawn2 = cc.Spawn:create(cc.MoveTo:create(0.5,srcPos),cc.ScaleTo:create(0.5,1))
- local seq = cc.Sequence:create(spawn,cc.DelayTime:create(1.0),spawn2)
- self.ui.Items.ImageView_ChoiceCard:runAction(seq)
- end
- return
- end
-
- if app.room.roomInfo.nBankerUserId == app.room:getMyRecordUserId() then
- self.ui.Items.Layout_Banker:setVisible(true)
- self.callCallList = {}
- for k,v in ipairs(cardList) do
- local card = self.ui.Items.Layout_Card:getCopied()
- card.Items = getUIItems(card)
- card:setVisible(true)
- local cardValue = 0xff
- if PKFuc.getIsMingJiao() then
- cardValue = v.card
- end
- local file = PKFuc.getPKCardImgByValue(cardValue)
- card.Items.ImageView_Card:loadTextureFromPlist(file)
- self.ui.Items.Layout_JiaoPai:addChild(card)
- self.ui.Items.Layout_JiaoPai:requestDoLayout()
- self.ui.Items.Layout_JiaoPai:doLayout()
- table.insert(self.callCallList,card)
- local srcPosY = card.Items.ImageView_Card:getPositionY()
- card:registerClick(function ()
- for _,ui in ipairs(self.callCallList) do
- ui.Items.ImageView_Card:setPositionY(srcPosY)
- end
- card.Items.ImageView_Card:setPositionY(srcPosY + 20)
- self.selectCard = v.card
- log("选择的牌:")
- PKFuc.logCard(v.card)
- end)
- end
- else
- self.ui.Items.ImageView_WaitBanker:setVisible(true)
- end
- end
-
-
- function PKRoomOperationView:setChoiceCardView(bVisible,srcList,weaveCardList)
- self.ui.Items.Layout_ChoiceCard:setVisible(bVisible)
- if bVisible then
- self.ui.Items.Layout_ChoiceCardType:removeAllChildren()
- self.ui.Items.Layout_CardItem:setVisible(false)
- self.ui.Items.Layout_CardItemParent:setVisible(false)
- self.ui.Items.Layout_Item:setVisible(false)
- logD("weaveCardList:",table.tostring(weaveCardList))
-
- self.selectCallList = {}
-
- --最大组合数
- local maxWeaveNum = table.nums(weaveCardList)
-
- local tpLineCount = math.ceil(maxWeaveNum / 2)
- local tpHeightCount = 2
-
- self.ui.Items.Layout_ChoiceCardType:setSize(cc.size(self.srcWidth,self.srcHeight))
- local width = tpLineCount * self.srcWidth
- local height = tpHeightCount * self.srcHeight
- --根据组合设置我变化后的宽高
- self.ui.Items.Layout_ChoiceCardType:setSize(cc.size(width,height))
- --title
- self.ui.Items.ImageView_Title_CardType:setPositionY(self.ui.Items.Layout_ChoiceCardType:getPositionY() + height / 2 + 15)
-
- local newWidth = self.ui.Items.Layout_ChoiceCardType:getContentSize().width
- local newHeight = self.ui.Items.Layout_ChoiceCardType:getContentSize().height
-
- local isdefault = false
-
- local topLayout = self.ui.Items.Layout_Item:getCopied()
- self.ui.Items.Layout_ChoiceCardType:addChild(topLayout)
- topLayout:setPosition(cc.p(newWidth/2,newHeight * 0.75))
-
- local bottomLayout = self.ui.Items.Layout_Item:getCopied()
- self.ui.Items.Layout_ChoiceCardType:addChild(bottomLayout)
- bottomLayout:setPosition(cc.p(newWidth/2,newHeight * 0.25))
- local cardWidth = 0
- for k1,list in ipairs(weaveCardList) do
- local nodeLayout = self.ui.Items.Layout_CardItemParent:getCopied()
-
- for _k,cardvalue in ipairs(list) do
- local card = self.ui.Items.Layout_CardItem:getCopied()
- card.Items = getUIItems(card)
- local file = PKFuc.getPKCardImgByValue(cardvalue)
- card.Items.ImageView_CardItem:loadTextureFromPlist(file)
- cardWidth = card.Items.ImageView_CardItem:getContentSize().width
- nodeLayout:addChild(card)
- end
-
- nodeLayout:setColor(cc.c3b(125,125,125))
- if not isdefault then
- isdefault = true
- nodeLayout:setColor(cc.c3b(255,255,255))
- self.cardList = app.room:getTableList(list)
- self.srcCardList = app.room:getTableList(srcList)
- end
- table.insert(self.selectCallList,nodeLayout)
-
- nodeLayout:requestDoLayout()
- nodeLayout:doLayout()
-
- local mid = math.floor(maxWeaveNum/2)
- local leftBlock = maxWeaveNum - mid
- if k1 <= mid then
- topLayout:addChild(nodeLayout)
- else
- local nWidth = nodeLayout:getChildrenCount() * self.ui.Items.Layout_CardItem:getContentSize().width + cardWidth * 0.5
- --nodeLayout:setContentSize(cc.size(nWidth,nodeLayout:getContentSize().height))
- local sss = nodeLayout:getContentSize()
- bottomLayout:addChild(nodeLayout)
- end
-
- nodeLayout:registerClick(function ()
- for _,ui in ipairs(self.selectCallList) do
- ui:setColor(cc.c3b(125,125,125))
- end
- nodeLayout:setColor(cc.c3b(255,255,255))
- self.cardList = app.room:getTableList(list)
- self.srcCardList = app.room:getTableList(srcList)
- end)
- end
- bottomLayout:requestDoLayout()
- bottomLayout:doLayout()
- topLayout:requestDoLayout()
- topLayout:doLayout()
- end
- end
-
- --隐藏自身
- function PKRoomOperationView:hideSelf(isHideAll)
- self.ui.Items.Layout_operatorPanel:setVisible(false)
- self.ui.Items.Layout_BaoPai:setVisible(false)
- self.ui.Items.Layout_FanBao:setVisible(false)
- if isHideAll then
- self.ui.Items.Layout_CallCard:setVisible(false)
- end
- self.ui.Items.Layout_ChoiceCard:setVisible(false)
- end
-
- function PKRoomOperationView:ChoiceViewIsVisible()
- return self.ui.Items.Layout_ChoiceCard:isVisible()
- end
-
- return PKRoomOperationView;
|