local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine") local MJFunction = MJFramework.MJImport("mj.luaScript.MJFunction") local CommonMahjongCard = require("mj.luaScript.Common.2d.CommonMahjongCard") local Card2D = class("Card2D", CommonMahjongCard) function Card2D:ctor(...) Card2D.super.ctor(self, ...) end --- Card2D:setLuoBoVisible 显示萝卜标识 -- @param isVisible 是否显示,为true时,count可不传 -- @param count 萝卜牌数量 function Card2D:setLuoBoVisible(isVisible, count, groupIndex) if self._mjType == MJDefine.MJConfig_2d.MJType.Stand then if self._viewId ~= MJDefine.PlayerViewType.My then return end end local viewId = self:getViewId() local imgFlag = self:getChildByName("img_luobo_flag") if not imgFlag then imgFlag = cc.ImageView:create() self:addChild(imgFlag) end imgFlag:setVisible(isVisible) if not isVisible then imgFlag:setVisible(false) return end local imgPath = string.format("mj_huamajiang/res/zy_fangjian/card/flag_luobo/huamajiang_flag_luobo_%d.png", count) imgFlag:loadTexture(imgPath, 0) imgFlag:setName("img_luobo_flag") local cfg = nil local rotationCfg = nil if self._mjType == MJDefine.MJConfig_2d.MJType.Operate or self._mjType == MJDefine.MJConfig_2d.MJType.OperateBlack then cfg = MJDefine.MJConfig_2d.OpCardLuoBoFlagPos[viewId] rotationCfg = MJDefine.MJConfig_2d.OpCardLuoBoFlagScale[viewId] elseif self._mjType == MJDefine.MJConfig_2d.MJType.Open then cfg = MJDefine.MJConfig_2d.OpenCardLuoBoFlagPos[viewId] rotationCfg = MJDefine.MJConfig_2d.OpenCardLuoBoFlagScale[viewId] else cfg = MJDefine.HandCardLuoBoFlagPos[MJDefine.DesktopType.ThreeD][viewId]; end if cfg then imgFlag:setPosition(cc.p(cfg.x, cfg.y)); imgFlag:setScale(cfg.scale); end if rotationCfg then imgFlag:setEulerRotation(cc.vec3(rotationCfg.x, rotationCfg.y, rotationCfg.z)) end end --- -- 刷新多头杠数量 -- @param cardNum -- @return -- function Card2D:refreshCardNum(cardNum, groupIndex) local viewId = self:getViewId() local imgFlag = self:getChildByName("img_cardnum_flag") if not imgFlag then imgFlag = cc.ImageView:create() self:addChild(imgFlag) end imgFlag:setVisible(cardNum > 4) if not (cardNum and cardNum > 4) then return end local imgPath = string.format("mj_huamajiang/res/zy_fangjian/card/flag_gang/huamajiang_flag_gang_%d.png", cardNum) imgFlag:loadTexture(imgPath, 0) imgFlag:setName("img_cardnum_flag") local cfg = nil local rotationCfg = nil if self._mjType == MJDefine.MJConfig_2d.MJType.Out then cfg = MJDefine.OutDuoGangFlagPos[MJDefine.DesktopType.ThreeD][viewId]; cfg.x = cfg.pos.x cfg.y = cfg.pos.y else cfg = MJDefine.MJConfig_2d.OpDuoGangFlagPos[viewId] rotationCfg = MJDefine.MJConfig_2d.OpDuoGangFlagRotationConfig[viewId] end if cfg then imgFlag:setPosition(cc.p(cfg.x, cfg.y)); imgFlag:setScale(cfg.scale); end if rotationCfg then imgFlag:setEulerRotation(cc.vec3(rotationCfg.x, rotationCfg.y, rotationCfg.z)) end end return Card2D