|
- local MJ = MJFramework.MJImport("mj.luaScript.Views.Game.MJ")
- local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine")
- local MJPositionCompnent=MJFramework.MJImport("mj.luaScript.Views.Compnent.MJPositionCompnent")
- local MJChi = MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Game.MJChi")
- local huamajiangChi = class("huamajiangChi", MJChi)
-
- function huamajiangChi:ctor(values,viewId,desktopType)
- self.values = values;
- self.viewId=viewId or MJDefine.PlayerViewType.My
- self.desktopType = desktopType or MJDefine.DesktopType.ThreeD
- self.mjs={}
- local MJGroupOffSet=MJDefine.MJGroupOffSet[desktopType]
-
- -- local x=0
- -- local y=0
- --计算整个组牌的宽高
- local width=0
- local height=0
- for i=1,3 do
- local mj
- if values[i] then
- mj=MJ:new(values[i],MJDefine.MJType.Operate,self.viewId,self.desktopType)
- self:addChild(mj)
- --self:setCardPos(mj,i)
- end
- local mjWidth=mj:getContentSize().width
- local mjHeight=mj:getContentSize().height
-
- --根据视图ID 计算坐标
- if self.viewId==MJDefine.PlayerViewType.My then
- -- x=#self.mjs*(mjWidth-MJDefine.MJGroupOffSet[self.viewId].x)+mjWidth/2
- width=width+mjWidth
- height=mj:getContentSize().height
- elseif self.viewId==MJDefine.PlayerViewType.Left then
- -- x=x-#self.mjs*MJDefine.MJGroupOffSet[self.viewId].x
- -- y=y+(mjHeight-MJDefine.MJGroupOffSet[self.viewId].y)*(3-i)
- width=mjWidth
- height=height+mjHeight
- if i<3 then
- height=height-MJGroupOffSet[self.viewId].y
- end
- elseif self.viewId==MJDefine.PlayerViewType.Right then
- -- x=x-#self.mjs*MJDefine.MJGroupOffSet[self.viewId].x
- -- y=y+(mjHeight-MJDefine.MJGroupOffSet[self.viewId].y)*#self.mjs
- width=mjWidth
- height=height+mjHeight
- if i<3 then
- height=height-MJGroupOffSet[self.viewId].y
- end
- mj:setLocalZOrder(3-i)
- elseif self.viewId==MJDefine.PlayerViewType.Top then
- -- local scale=1--0.8 --上面的麻将要缩小
- -- mj:setScale(scale)
- -- x=x*scale
- -- y=y*scale
- -- x=#self.mjs*(mjWidth*scale-MJDefine.MJGroupOffSet[self.viewId].x)+mjWidth*scale/2
- width=width+mjWidth
- height=mj:getContentSize().height
- end
- local x,y=MJPositionCompnent.getIntragroupPosition(self.viewId,mj,i,#self.mjs,self.desktopType)
- mj:setPosition(x,y)
- table.insert(self.mjs,mj)
- end
-
- self:setContentSize(cc.size(width,height))
- end
-
- function huamajiangChi:getCards()
- return self.mjs;
- end
-
- function huamajiangChi:getValues( )
- return self.values;
- end
-
- function huamajiangChi:refreshCardNum (mj, cardNum)
- mj:refreshCardNum(cardNum);
- self.cardNum = cardNum;
- end
-
- function huamajiangChi:getCardNum ()
- return self.cardNum or 0;
- end
-
- return huamajiangChi
|