local MJDefine = MJFramework.MJImport("mj.luaScript.MJDefine") local MJMessage = MJFramework.MJImport("mj.luaScript.Protocol.MJMessage") local MJSound = MJFramework.MJImport("mj.luaScript.MJSound") local Mahjong3DHandCard = MJFramework.MJFrameworkClassImprot("mj.luaScript.Common.3d.Mahjong3DHandCard") local HandCard3D = class("HandCard3D", Mahjong3DHandCard) function HandCard3D:ctor(...) HandCard3D.super.ctor(self, ...) end --- HandCard3D:onAfterCreateHandcards 创建手牌之后的处理 function HandCard3D:onAfterCreateHandcards() HandCard3D.super.onAfterCreateHandcards(self) end function HandCard3D:onAfterCreateOpenHandcards() HandCard3D.super.onAfterCreateOpenHandcards(self) end -- 重写排序,让听用牌放在最左边 function HandCard3D:sortHandCards() -- 拆分 local temp = {} local tCard = {} local nCard = {} local qCard = {} for i, v in ipairs(self._handCardNodes) do if v:getIsTingYongCard() then table.insert(tCard, v) elseif v:getIsDingQueCard() or (v:getMJColorType() == self.queType) then table.insert(qCard, v) else table.insert(nCard, v) end end -- 按牌值顺序排序 local function sortFun(c1, c2) return c1:getValue() < c2:getValue() end table.sort(tCard, sortFun) table.sort(nCard, sortFun) table.sort(qCard, sortFun) -- 添加到大表temp里面 for i, v in ipairs(tCard) do table.insert(temp, v) end for i, v in ipairs(nCard) do table.insert(temp, v) end for i, v in ipairs(qCard) do table.insert(temp, v) end self._handCardNodes = temp end --发送出牌消息 function HandCard3D:sendOutCard() app.room:dispatchEvent({name = MJDefine.MJEvent.checkIsNeedSendGuo}) HandCard3D.super.sendOutCard(self) end --判断是否符合换三张规则 function HandCard3D:checkIsInSwapRule() local roomInfo=app.room.roomInfo local gameInfo=json.decode(roomInfo.strGameInfo) local selectNums = #self._selectCards --local tipsMessage = "当前服务器传下来换牌的张数:" .. gameInfo.swapcardcount .. "当前选中的牌张数:" .. selectNums; --showTooltip(tipsMessage) if selectNums ~= tonumber(gameInfo.swapcardcount) then return false end local huase = self._selectCards[1]:getMJColorType() for i,v in pairs(self._selectCards) do local tHuase = v:getMJColorType() if tHuase ~= huase then return false end end return true end return HandCard3D