|
- --[[local CardNode = class("CardNode", function()
- return cc.ImageView:create()
- end)--]]
- local PokerUtil = require("zp_doushisi.luaScript.Views.Room.doushisiPokerUtil")
- local DoushisiRoomConfig = require("zp_doushisi.luaScript.Views.Room.doushisiRoomConfig")
- local ZPDef = ZPFramework.ZPImport("zp_base.luaScript.ZPDef")
-
- local doushisiGroupCardView = class("doushisiGroupCardView", function ()
- local node = cc.Node:create()
- return node
- end)
-
- function doushisiGroupCardView:ctor(viewId)
- self._viewId = viewId
- self._CardValue = {}
- self._groupCardNode = {}
- self.littleCardScale = 0.46
- end
-
- function doushisiGroupCardView:addGroupCard(card,nums)
-
- for i = 1, nums do
- local mSprite = cc.ImageView:createNode()
- mSprite:setScale(self.littleCardScale)
- local finalFileName = PokerUtil.pokerPng(card,ZPDef.CardType.CARD_TYPE_GROUP_OUT)
- mSprite:loadTextureFromPlist(finalFileName)
- mSprite:setVisible(not isShowAni)
- --mSprite:setAnchorPoint(cc.p(0,0))
- mSprite.value = card
-
- if self._viewId == 2 or self._viewId == 4 then
- mSprite:setEulerRotation(cc.vec3(0, 0, 90))
- end
-
- if self._viewId == 1 then
- self:setEulerRotation(cc.vec3(-36, 18, 13))
- elseif self._viewId == 3 then
- self:setEulerRotation(cc.vec3(36, 17, -12))
- end
-
- local pos = self:getCardPosition()
- mSprite:setPosition(pos)
- self:addChild(mSprite)
-
- table.insert(self._groupCardNode,mSprite)
- table.insert(self._CardValue, card)
- end
- end
-
-
- function doushisiGroupCardView:addBaCard(card,nums)
-
- local groupLen = table.nums(self._groupCardNode)
-
- if groupLen > 0 then
- local index = 0
- local isfind = false
- local tempCardValue = {}
- local lens = table.nums(self._groupCardNode)
- local baIndex = 0
- --先寻找要巴的值的起始索引
- for i = 1,lens do
- local cardT = self._groupCardNode[i]
- local nextCard = self._groupCardNode[i+1]
- if cardT.value%16 == card%16 and nextCard.value%16 == card%16 then
- baIndex = i
- break
- end
- end
- --再寻找具体位置
- for i = 1,lens do
- local cardT = self._groupCardNode[i]
- local nextCard = self._groupCardNode[i+1]
- cardT:removeFromParent()
- if cardT.value%16 == card%16 and not isfind then
- if not nextCard or (nextCard and nextCard.value%16 ~= card%16 and i > baIndex) then
- index = i+1
- isfind = true
- end
- end
- table.insert(tempCardValue,cardT.value)
- end
-
- self._groupCardNode = {}
-
- table.insert(tempCardValue,index,card)
-
- for k,v in pairs(tempCardValue) do
- self:addGroupCard(v,1)
- end
- end
- end
-
-
-
- function doushisiGroupCardView:getCardPosition()
- local groupLen = table.nums(self._groupCardNode)
-
- local tarpos = cc.p(0,0)
-
- if groupLen > 0 then
- local colNum = DoushisiRoomConfig.OpOutCardNum[self._viewId]
- local opcardNum = groupLen
- local colMax = math.modf(opcardNum/colNum)
- local orderX = 0
- local orderY = 0
- local offsetX = DoushisiRoomConfig.OpOutCardOffset[self._viewId].x
- local offsetY = DoushisiRoomConfig.OpOutCardOffset[self._viewId].y
- local offsetSpace = DoushisiRoomConfig.opOutCardSpace[self._viewId]
-
- if self._viewId == 1 then
- if colMax > 0 then
- orderX = orderX - offsetSpace*colMax
- end
- orderX = orderX + offsetX*opcardNum
- orderY = orderY - (opcardNum%colNum)*offsetY
- elseif self._viewId == 2 then
- if colMax > 0 then
- orderY = orderY - offsetY*colMax
- end
- orderX = orderX + (opcardNum%colNum)*offsetX
- elseif self._viewId == 3 then
- if colMax > 0 then
- orderX = orderX + offsetSpace*colMax
- end
- orderX = orderX - offsetX*opcardNum
- orderY = orderY - (opcardNum%colNum)*offsetY
- elseif self._viewId == 4 then
- if colMax > 0 then
- orderY = orderY + offsetY*colMax
- end
- orderX = orderX + (opcardNum%colNum)*offsetX
- end
-
- tarpos.x = tarpos.x + orderX
- tarpos.y = tarpos.y + orderY
- end
-
-
- return tarpos
- end
-
-
-
- function doushisiGroupCardView:showAllGroupCard()
- for k,v in pairs(self._groupCardNode) do
- v:setVisible(true)
- end
- end
-
-
- function doushisiGroupCardView:reset()
- self._qiPaiValue = {}
- for k,v in pairs(self._groupCardNode) do
- if not tolua.isnull(v) then
- v:removeFromParent()
- end
- end
- self._groupCardNode = {}
- end
-
- return doushisiGroupCardView
|