local MJRoomToolView=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomToolView") local MJRoomMessageView=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomMessageView") local MJRoomPlayerView=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomPlayerView") local MJDefine=MJFramework.MJImport("mj.luaScript.MJDefine") local MJFunction=MJFramework.MJImport("mj.luaScript.MJFunction") local MJHandCardView=MJFramework.MJImport("mj.luaScript.Views.Game.MJHandCardView") local MJRoomDirection=MJFramework.MJImport("mj.luaScript.Views.Room.MJRoomDirection") local MJWanFa=MJFramework.MJImport("luaScript.SubGameDefine.MaJiang.MJWanFa") local MJAnimationCompnent=MJFramework.MJImport("mj.luaScript.Views.Compnent.MJAnimationCompnent") local MJSound=MJFramework.MJImport("mj.luaScript.MJSound") local MJRoomReplayView=MJFramework.MJFrameworkClassImprot("mj.luaScript.Views.Room.MJRoomReplayView") local luzhouguiRoomReplayView = class("luzhouguiRoomReplayView", MJRoomReplayView) function luzhouguiRoomReplayView:ctor(data) luzhouguiRoomReplayView.super.ctor(self,data) -- --玩家牌局面板 -- self.playerHandCards={} -- self.data=data -- app:changeGameProtocol(app.gameId,1) end function luzhouguiRoomReplayView:loadUI() local ui = loadUI("mj_luzhougui/res/ui_fangjian/mj_luzhou_roomView.ui") self.ui = ui; self:addChild(ui); end function luzhouguiRoomReplayView:onEnter() luzhouguiRoomReplayView.super.onEnter(self) self:setCheckDefault() self.huOrder = 0 self:initRuleView () end -- function luzhouguiRoomReplayView:onEnter() -- --ui load -- local ui = loadUI("mj_luzhougui/res/ui_fangjian/mj_luzhou_roomView.ui") -- self.ui = ui; -- self:addChild(ui); -- self:updateRoomData() -- self:setCheckDefault() -- --初始化视图 -- self:initView() -- -- --初始化游戏事件按钮 -- self:initGameButton() -- --默认状态 -- self:defaultState() -- self:initHandCardNodes() -- self:startReplay() -- self:loadTextureCache() -- self.huOrder = 0 -- end -- function luzhouguiRoomReplayView:defaultState() -- --队列初始化 -- self.callbackQueue = {} -- self.callbackRunning = false -- self.ui.Items.Button_GPS:setVisible(false) -- --self.ui.Items.Layout_TingPai:setVisible(false) -- self.playerView:setOffLineVisible(false) -- self.playerView:setPlayerVisible(false) -- -- self.ui.Items.Layout_Rule:setVisible(false) -- self.ui.Items.Text_CardNum:setText("") -- -- self.playerView:setOperatorTipVisible(false) -- self:setBtnSitDownVisible(false) -- self:setTingCardViewVisible(false) -- self:setGuideView(false) -- self:setWetChatVisible(false) -- end function luzhouguiRoomReplayView:parseData() local data = self.data --战报解析 self.reports={} local ops=string.split(data.ops,"|") for k,v in pairs(ops) do local op=string.split(v,",") local nUserId=tonumber(op[1]) local opType=op[2] local opStr = op[3] if opType == "ShowAction" then local opList = {} if nUserId==0 then local temp = string.split(opStr, ";") for k,v in pairs(temp) do local temp2 = string.split(v, " ") local userId = tonumber(temp2[1]) table.remove(temp2,1) local operates = temp2 table.insert(opList,{nUserId = userId,operates = self:margeOperates(operates) }) end else local operates = string.split(opStr, " ") table.insert(opList,{nUserId = nUserId,operates = self:margeOperates(operates) }) end table.insert(self.reports,{opType=opType,opList=opList}) elseif opType == "BaoPai" then local opList = {} local temp2 = {} table.insert(temp2,tonumber(1)) table.insert(opList,{nUserId = nUserId,operates = self:margeOperates(temp2) }) table.insert(self.reports,{opType="ShowBaoOpt",opList=opList}) table.insert(self.reports,{nUserId=nUserId,opType="SubmitOp",submitOp = tonumber(opStr) }) local tCards = string.split(opStr, "_") local card,redNum = nil,0 if tCards[1] then card = tonumber(tCards[1]) end if tCards[2] then redNum = tonumber(tCards[2]) end table.insert(self.reports,{nUserId=nUserId,opType=opType,card=card,redNum=redNum}) elseif opType == "SubmitOp" then --提交的操作 local temp = string.split(opStr, "_") local submitOp = tonumber(temp[1]) table.insert(self.reports,{nUserId=nUserId,opType=opType,submitOp = submitOp }) elseif "DisCard"~=opType then local tCards = string.split(opStr, "_") local card,redNum = nil,0 if tCards[1] then card = tonumber(tCards[1]) end if tCards[2] then redNum = tonumber(tCards[2]) end table.insert(self.reports,{nUserId=nUserId,opType=opType,card=card,redNum=redNum}) end end end --合并操作 只显示一个杠 function luzhouguiRoomReplayView:margeOperates(operates) local ops = {} local isGang = false for k,v in pairs(operates) do local op = tonumber(v) if (op==MJDefine.MJOperateType.OPREATE_ZHIGANG) or (op==MJDefine.MJOperateType.OPREATE_BAGANG) or (op==MJDefine.MJOperateType.OPREATE_ANGANG) then if not isGang then table.insert(ops,op) isGang = true end else table.insert(ops,op) end end return ops end -- function luzhouguiRoomReplayView:initView() -- self.ui.Items.ImageView_CardNum:setVisible(false) -- self.direcionView = MJRoomDirection:new() -- self.ui.Items.Layout_Player:addChild(self.direcionView) -- self.direcionView:setVisible(false) -- --UI相关 -- self.playerView = MJRoomPlayerView:new() -- self:addChild(self.playerView) -- self.playerView:setHeadTouchEnable(false) -- --加载工具层 -- self.toolView = MJRoomToolView:new() -- self:addChild(self.toolView) -- self.toolView.ui.Items.Button_Menu:setVisible(false) -- self.toolView.ui.Items.Layout_Button:setVisible(false) -- self.toolView.ui.Items.Button_FastStart:setVisible(false) -- self.toolView.ui.Items.Button_BaoJian:setVisible(false) -- --self.toolView:setVisible(false) -- local headInfos = {} -- for k,v in pairs(self.playerView.allNodes) do -- local pos = cc.pAdd(v.player:getPosition(),cc.p(38,66)) -- table.insert(headInfos,{headPos=pos}) -- end -- self.messageView = require("luaScript.Views.Room.ChatView"):new({chatList=MJDefine.MJChatTxt,faceList=MJDefine.MJFaceConfig},headInfos,true) -- self.playerView.ui.Items.Layout_Player:addChild(self.messageView) -- self.messageView:setBtnFace(cc.p(1236,348),"room_room_img_face.png") -- self.messageView:setBtnVoice(cc.p(1236,257),"room_room_img_voice.png") -- self.messageView:setVisible(false) -- --加载回放按钮 -- local ui = loadUI("res/ui/ui_fangjian/ui_fangjian_record.ui"); -- self.replayView = ui -- self:addChild(ui) -- self.replayView.Items.Text_playProgress:setString("进度:0%") -- local roomInfo=app.room.roomInfo -- -- 房间号 -- self.ui.Items.Text_roomNum:setText("房号:"..tostring(roomInfo.nShowTableId)) -- self:updateGameNums() -- --房间玩法 -- self.toolView:updateRule() -- --local ruleAll = MJWanFa.getWanFaInfo(roomInfo.strGameInfo)--getLHQRuleStr(); -- --self.ui.Items.Text_Rule:setText(ruleAll) -- --定时器 -- local time = os.date("%m-%d %X",self.data.endtime) --回放时间这里要求改成成局时候的时间 -- self.ui.Items.Text_Time:setText(time)--(MJFunction.getTimeString()) -- if not self.Time then -- self.Time = cc.Director:getInstance():getScheduler():scheduleScriptFunc(function() -- self.ui.Items.Text_Time:setText(time)--(MJFunction.getTimeString()) -- end,1.0,false) -- end -- end -- function luzhouguiRoomReplayView:initGameButton() -- self.ui.Items.Layout_Touch:registerClick(nil,function() -- self.toolView:hideRule() -- end) -- self.replayView.Items.Button_Play:registerClick(function() -- self.isPlay=true -- self.replayView.Items.Button_Pause:setVisible(true) -- self.replayView.Items.Button_Play:setVisible(false) -- end) -- self.replayView.Items.Button_Pause:registerClick(function() -- self.isPlay=false -- self.replayView.Items.Button_Play:setVisible(true) -- self.replayView.Items.Button_Pause:setVisible(false) -- end) -- self.replayView.Items.Button_Play:setVisible(false) -- self.replayView.Items.Button_Toward:registerClick(function() -- self:playNextReport() -- end) -- self.replayView.Items.Button_Backward:setVisible(false) -- self.replayView.Items.Button_Exit:registerClick(function() -- self:removeFromParent() -- end) -- end function luzhouguiRoomReplayView:startGame() self:onGameStartResponse() --设置为回放模式 for k,v in pairs(self.playerHandCards) do v:setReplay(true) end app.room.roomInfo.laizi = tonum(self.data.ext.laizi) self:onGameSendCardResponse() self.playerHandCards[MJDefine.MyViewId]:removeTouchEvent() end function luzhouguiRoomReplayView:initHanders() luzhouguiRoomReplayView.super.initHanders(self) self.handers ["BaoPai"] = handler(self,self.onBaoPaiRes) self.handers ["DianPao"] = handler(self,self.onDianPao) self.handers ["DianPaoHu"] = handler(self,self.onPlayerHu) self.handers ["QiangGangHu"] = handler(self,self.onPlayerHu) self.handers ["ZiMoHu"] = handler(self,self.onPlayerHu) self.handers ["ShowAction"] = handler(self,self.onShowOperates) self.handers ["ShowBaoOpt"] = handler(self,self.onShowBaoOpt) self.handers ["SubmitOp"] = handler(self,self.onSubmitOperate) self.handers ["ActionWait"] = handler(self,self.onActionWait) end function luzhouguiRoomReplayView:onActionWait(data) local response = { nUserId = data.nUserId, opType = data.card, } self:onWaitOperate({response = response}) end function luzhouguiRoomReplayView:onSubmitOperate(data) local viewId = app.room:getViewIdByUserId(data.nUserId) local Layout_Operate = self.playerHandCards[viewId].ui.Items.Layout_Operate local btn = Layout_Operate:getChildByTag(data.submitOp) if btn then local hand = cc.Sprite:create("mj/res/ui/zy_fangjian/mj_room_hand.png") btn:addChild(hand) local size = btn:getContentSize() hand:setPosition(cc.p(size.width/2+20,size.height/2-20)) local action = cc.Sequence:create(cc.MoveBy:create(0.5,cc.p(-10,10)),cc.MoveBy:create(0.5,cc.p(10,-10))) hand:runAction(cc.RepeatForever:create(action)) -- if data.submitOp == MJDefine.MJOperateType.OPREATE_CANCEL then btn:runAction(cc.Sequence:create(cc.DelayTime:create(1),cc.CallFunc:create(function() self.playerHandCards[viewId]:hideOperate() end))) -- end end end function luzhouguiRoomReplayView:onShowOperates(data) local opList = data.opList for k,v in pairs(opList) do local nUserId = v.nUserId local operates = v.operates local viewId=app.room:getViewIdByUserId(nUserId) local Layout_Operate = self.playerHandCards[viewId].ui.Items.Layout_Operate Layout_Operate:removeAllChildren() Layout_Operate:setVisible(true) local x=Layout_Operate:getContentSize().width if viewId==MJDefine.PlayerViewType.Left then x = 0 end table.insert(operates,1,MJDefine.MJOperateType.OPREATE_CANCEL) local y=Layout_Operate:getContentSize().height/2 local function createOperate(op,isLeft) local btnOperate=cc.Button:createNode() btnOperate:setDefaults() btnOperate:setText("") btnOperate:loadTextureNormal(MJDefine.MJOperateImage[op]) if isLeft then x = x + MJDefine.MJ_OPERATE_PADDING else x = x -MJDefine.MJ_OPERATE_PADDING end btnOperate:setPosition(cc.p(x,y)) btnOperate:setTag(op) Layout_Operate:addChild(btnOperate) end if viewId==MJDefine.PlayerViewType.Left then for i = #operates,1,-1 do local op = tonumber(operates[i]) createOperate(op,true) end else for _,strOp in pairs(operates) do local op = tonumber(strOp) createOperate(op,false) end end -- self.playerHandCards[viewId]: if viewId~=MJDefine.MyViewId then local node = self.playerView.allNodes[viewId] local pos = cc.pAdd(node.player:getPosition(),cc.p(38,66)) if viewId==MJDefine.PlayerViewType.Left then Layout_Operate:setAnchorPoint(cc.p(0,0.5)) elseif viewId==MJDefine.PlayerViewType.Right then pos.x = pos.x-100 elseif viewId==MJDefine.PlayerViewType.Top then Layout_Operate:setAnchorPoint(cc.p(1,1)) pos.y = pos.y-33*2 end if viewId==MJDefine.PlayerViewType.Left or viewId==MJDefine.PlayerViewType.Right then pos.y = pos.y-104 end Layout_Operate:setPosition(pos) Layout_Operate:setScale(0.7) end end end function luzhouguiRoomReplayView:onShowBaoOpt(data) local opList = data.opList for k,v in pairs(opList) do local nUserId = v.nUserId local operates = v.operates local viewId=app.room:getViewIdByUserId(nUserId) local Layout_Operate = self.playerHandCards[viewId].ui.Items.Layout_Operate Layout_Operate:removeAllChildren() Layout_Operate:setVisible(true) local x=Layout_Operate:getContentSize().width if viewId==MJDefine.PlayerViewType.Left then x = 0 end table.insert(operates,1,MJDefine.MJOperateType.OPREATE_CANCEL) local y=Layout_Operate:getContentSize().height/2 local TOperateImage = { [0]="mj/res/ui/zy_fangjian/operate/mj_btn_guo.png", [1]="mj/res/ui/zy_fangjian/operate/mj_btn_bao.png", } local function createOperate(op,isLeft) local btnOperate=cc.Button:createNode() btnOperate:setDefaults() btnOperate:setText("") btnOperate:loadTextureNormal(TOperateImage[op]) if isLeft then x = x + MJDefine.MJ_OPERATE_PADDING else x = x -MJDefine.MJ_OPERATE_PADDING end btnOperate:setPosition(cc.p(x,y)) btnOperate:setTag(op) Layout_Operate:addChild(btnOperate) end if viewId==MJDefine.PlayerViewType.Left then for i = #operates,1,-1 do local op = tonumber(operates[i]) createOperate(op,true) end else for _,strOp in pairs(operates) do local op = tonumber(strOp) createOperate(op,false) end end -- self.playerHandCards[viewId]: if viewId~=MJDefine.MyViewId then local node = self.playerView.allNodes[viewId] local pos = cc.pAdd(node.player:getPosition(),cc.p(38,66)) if viewId==MJDefine.PlayerViewType.Left then Layout_Operate:setAnchorPoint(cc.p(0,0.5)) elseif viewId==MJDefine.PlayerViewType.Top then Layout_Operate:setAnchorPoint(cc.p(1,1)) pos.y = pos.y-33*2 end if viewId==MJDefine.PlayerViewType.Left or viewId==MJDefine.PlayerViewType.Right then pos.y = pos.y-104 end Layout_Operate:setPosition(pos) Layout_Operate:setScale(0.7) end end end --播放一条战报 -- function luzhouguiRoomReplayView:playNextReport() -- local handers={ -- ["DealCard"]=handler(self,self.onGetCard), -- ["OutCard"]=handler(self,self.onOutCard), -- ["Peng"]=handler(self,self.onOperate), -- ["BaGang"]=handler(self,self.onOperate), -- ["AnGang"]=handler(self,self.onOperate), -- ["Gang"]=handler(self,self.onOperate), -- ["ZhiGang"]=handler(self,self.onOperate), -- ["BaoPai"]=handler(self,self.onBaoPaiRes), -- ["DianPao"]=handler(self,self.onDianPao), -- ["DianPaoHu"]=handler(self,self.onPlayerHu), -- ["QiangGangHu"]=handler(self,self.onPlayerHu), -- ["ZiMoHu"]=handler(self,self.onPlayerHu), -- } -- local v= self.reports[self.reportIndex] -- if v then -- if handers[v.opType] then -- print(table.tostring(v).." reportIndex:"..self.reportIndex) -- handers[v.opType](v) -- end -- self.reportIndex=self.reportIndex+1 -- end -- local progress=self.reportIndex>#self.reports and #self.reports or self.reportIndex -- progress=math.ceil(progress/#self.reports*100) -- self.replayView.Items.Text_playProgress:setString("进度:"..progress.."%") -- end function luzhouguiRoomReplayView:onOperate(data) local roomInfo=app.room.roomInfo local operates={ ["Peng"]=MJDefine.MJOperateType.OPREATE_PENG, ["BaGang"]=MJDefine.MJOperateType.OPREATE_BAGANG, ["AnGang"]=MJDefine.MJOperateType.OPREATE_ANGANG, ["Gang"]=MJDefine.MJOperateType.OPREATE_ZHIGANG, ["ZhiGang"]=MJDefine.MJOperateType.OPREATE_ZHIGANG, } self.fromSeatId = self.fromSeatId or roomInfo.memberList[data.nUserId].nSeatId local response={ nUserId=data.nUserId, opCard=data.card, redNum = data.redNum, opType=operates[data.opType], -- operates={}, nSeatId=roomInfo.memberList[data.nUserId].nSeatId, isNeedOutCard=0, fromSeatId=self.fromSeatId, } --碰了之后需要出牌 if data.opType=="Peng" then response.isNeedOutCard=1 end for k,v in pairs(self.playerHandCards) do v:hideOperate() end self:onOperationCodeSuccess({response=response}) end function luzhouguiRoomReplayView:onOutCard(data) local roomInfo=app.room.roomInfo local response={ nUserId=data.nUserId, card=data.card, operates={}, -- nSeatId=roomInfo.memberList[data.nUserId].nSeatId, } self.fromSeatId=roomInfo.memberList[data.nUserId].nSeatId local viewId=app.room:getViewIdByUserId(data.nUserId) self.playerHandCards[viewId]:hideOperate() if viewId==MJDefine.MyViewId then -- self.playerHandCards[MJDefine.MyViewId].touchMJ=self.playerHandCards[MJDefine.MyViewId]:getMjByValue(data.card) end self:onOutCardSuccess({response=response}) end function luzhouguiRoomReplayView:onBaoPaiRes(data) local response={ nUserId=data.nUserId, isBaoPai=data.card, } local viewId=app.room:getViewIdByUserId(data.nUserId) self.playerHandCards[viewId]:hideOperate() self:onBaoPai({response=response}) end function luzhouguiRoomReplayView:onDianPao(data) self.dpUserId = data.nUserId or 0 end function luzhouguiRoomReplayView:onPlayerHu(data) local roomInfo=app.room.roomInfo self.huOrder = self.huOrder + 1 local huType = { ["ZiMoHu"] = MJDefine.MJGameHuType.HU_ZIMO, ["DianPaoHu"] = MJDefine.MJGameHuType.HU_DIANPAO, ["QiangGangHu"] = MJDefine.MJGameHuType.HU_DIANPAO, } local redRealCard = 0 local isQiangGng = 0 if data.opType == "QiangGangHu" then redRealCard = data.card isQiangGng =1 end local response={ nUserId=data.nUserId, huType = huType[data.opType], huCard = data.card, dpId = self.dpUserId, huOrder = self.huOrder, redRealCard = redRealCard, isQiangGng = isQiangGng, } local viewId=app.room:getViewIdByUserId(data.nUserId) for k,v in pairs(self.playerHandCards) do v:hideOperate() end self.playerHandCards[viewId]:hideOperate() self:onHuResponse({response=response}) end --出牌成功 function luzhouguiRoomReplayView:onOutCardSuccess(data) logE("luzhouguiRoomReplayView:onOutCardSuccess(), response = ", table.tostring(data.response)) --[[ -- 出牌用户id , defVar("nOutCardUserId", VT_Int, -1) -- 出的牌 , defVar("byOutCard", VT_UChar, -1) -- 可以的操作ma , defVar("mainOpCode", VT_Short, -1) -- 玩家操作 , defVar("operations", VT_Vector(ChuPaiPlayerOperation), {})--]] local function runOnOutCardSuccess(onEnd) log("2000000000-luzhouguiRoomReplayView - runOnOutCardSuccess---------") local viewId = app.room:getViewIdByUserId(data.response.nUserId) local card= data.response.card local operates=data.response.operates local typr = operates.opType if operates and table.nums(operates)>0 then self.operates = operates else self.operates = {} end local function callback() self.playerHandCards[MJDefine.MyViewId]:showOperate(operates,card) if onEnd then onEnd() end end -- self.lastOutCard = card self.lastOutViewId = viewId local player = app.room.roomInfo.memberList[data.response.nUserId] if self.playerHandCards[viewId] then --and (viewId~=MJDefine.MyViewId or player.isBaoPai == 1) self.playerHandCards[viewId]:onOutCard(card,callback)--onOutCard(data.response,true) app.room:dispatchEvent({name = MJDefine.MJEvent.OutCardFalg, value=card ,viewId=viewId}) if viewId==MJDefine.MyViewId then self.playerHandCards[viewId]:setTing(false) end else callback() end end log("2000000000-luzhouguiRoomReplayView - addCallBack(runOnOutCardSuccess)") self:addCallBack(runOnOutCardSuccess) end function luzhouguiRoomReplayView:onGameEnd(data) local function runGameXiaoJuResponse(onEnd) local function callback() --self:endReplay() --:showXiaoJuView() if onEnd then onEnd() end end local roomInfo = app.room.roomInfo local hutype=self.data.ext.huTypes local hucard=data.card self.direcionView:stopAllActions() -- local resultInfo=json.decode(roomInfo.strResultInfo) --所有胡牌的人 考虑抢杠胡的问题 --所有胡牌的人 考虑抢杠胡的问题 local viewIds={} local failViewId=0 for k,v in pairs(roomInfo.memberList) do local viewId = app.room:getViewIdByUserId(v.nUserId) if v.result==MJDefine.MJGameResultType.Win then table.insert(viewIds,viewId) --处理掉huCard, 不加入手牌 --播放音效 if viewId==MJDefine.MyViewId then MJSound.PlayWinGame() end elseif v.result==MJDefine.MJGameResultType.Fail then failViewId=viewId if viewId==MJDefine.MyViewId then MJSound.PlayLoseGame() end end end self:showOpenCard() --[[--被抢杠的人回退补杠 if hutype==MJDefine.MJHuType.QiangGangHu and roomInfo.stopFlag==MJDefine.StopFlag.STOP_FLAG_NORMAL then self.playerHandCards[failViewId]:retoreBuGang(hucard) end--]] local function callback() self:showXiaoJuView() if onEnd then onEnd() end end if #viewIds>0 then for k,viewId in pairs(viewIds) do local effect local resultInfo = roomInfo.resultInfos local userId = app.room:getUserIdByViewId(viewId) if k == #viewIds then --只有最后播放胡牌动画的回调一次就可以了 if resultInfo[userId].result == MJDefine.MJGameHuType.HU_ZIMO then effect = MJAnimationCompnent.CreateHuEffect("zimo",callback) else effect = MJAnimationCompnent.CreateHuEffect("hu",callback) end --local userInfo=app.room:getUserInfoByViewId(viewId) --[[if userInfo then --音效 if resultInfo[userId].result == MJDefine.MJGameHuType.HU_ZIMO then --1为自摸 MJSound.PlayOperateSound(userInfo.sex,MJDefine.MJOperateType.OPREATE_ZIMOHU) elseif resultInfo[userId].result == MJDefine.MJGameHuType.HU_DIANPAO then MJSound.PlayOperateSound(userInfo.sex,MJDefine.MJOperateType.OPREATE_DIANPAOHU) else MJSound.PlayOperateSound(userInfo.sex,MJDefine.MJOperateType.OPREATE_DIANPAOHU) end end--]] else --[[if resultInfo[userId].result == MJDefine.MJGameHuType.HU_ZIMO then effect = MJAnimationCompnent.CreateHuEffect("zimo") else effect = MJAnimationCompnent.CreateHuEffect("hu") end--]] end if effect then self:addChild(effect) effect:setPosition(self.playerHandCards[viewId]:getAnimationPostion()) effect:setVisible(false) end end else if roomInfo.stopFlag==MJDefine.StopFlag.STOP_FLAG_HUANG_ZHUANG then local effect=MJAnimationCompnent.CreateLiuJuEffect(callback) self:addChild(effect) else callback() end end end log("2000000000-MJRoomView - addCallBack(runGameXiaoJuResponse)" ) self:addCallBack(runGameXiaoJuResponse); end return luzhouguiRoomReplayView