diff --git a/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua b/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua index 1b173ebf..88d662a4 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua @@ -460,6 +460,7 @@ function M:EventInit() if _room.curren_round ~= _room.room_config.round then -- if #niao == 0 then self._view:GetChild("n13").visible = false end self._clearingView:InitData(0, _room, result, nil, function(...) + print("===============================lingthis") for i = 1, #data do local p = _room:GetPlayerBySeat(data[i].seat) p.total_score = data[i].total_score @@ -488,6 +489,7 @@ function M:EventInit() DataManager.CurrenRoom.self_player.card_list = {} self._state.selectedIndex = 2 self._clearingView = nil + print("===============================lingend") end) end self._player_card_info[1]:ShowHuTip() @@ -798,6 +800,7 @@ function M:__PiaoNiaoTip() end function M:ReloadRoom(bskip) + print("lingmengReloadRoom") local room = self._room -- if not room.playing then -- self._state.selectedIndex = 2 diff --git a/lua_probject/extend_project/extend/majiang/lichuan/EXPlayBackView.lua b/lua_probject/extend_project/extend/majiang/lichuan/EXPlayBackView.lua index 5d17a205..ff1755a4 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXPlayBackView.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXPlayBackView.lua @@ -9,289 +9,289 @@ local M = {} --- Create a new function M.new() - setmetatable(M, { __index = MJPlayBackView }) - local self = setmetatable({}, { __index = M }) - self.class = "PlayBackView" - self:init() + setmetatable(M, { __index = MJPlayBackView }) + local self = setmetatable({}, { __index = M }) + self.class = "PlayBackView" + self:init() - return self + return self end function M:InitView(url) - local room = self._room - UIPackage.AddPackage("extend/majiang/lichuan/ui/Extend_MJ_LiChuan") - MJPlayBackView.InitView(self, "ui://Main_Majiang/Main_" .. room.room_config.people_num) - local _cardbox = self._view:GetChild("cardbox") - --self._view:GetChild("panel_record"):GetChild("btn_LastStep").enabled = false - self._ctr_cardbox = _cardbox:GetController("c1") - self._tex_round = self._view:GetChild("tex_round") - self._tex_LeftCard = self._view:GetChild("remaining_card") - self._anchor = self._view:GetChild("mask_tips") - self._eventmap = {} + local room = self._room + UIPackage.AddPackage("extend/majiang/lichuan/ui/Extend_MJ_LiChuan") + MJPlayBackView.InitView(self, "ui://Main_Majiang/Main_" .. room.room_config.people_num) + local _cardbox = self._view:GetChild("cardbox") + --self._view:GetChild("panel_record"):GetChild("btn_LastStep").enabled = false + self._ctr_cardbox = _cardbox:GetController("c1") + self._tex_round = self._view:GetChild("tex_round") + self._tex_LeftCard = self._view:GetChild("remaining_card") + self._anchor = self._view:GetChild("mask_tips") + self._eventmap = {} - self._cmdmap = {} - self._cmdmap[Record_Event.Evt_GetCard] = self.CmdGetCard - self._cmdmap[Record_Event.Evt_OutCard] = self.CmdOutCard - self._cmdmap[Record_Event.Evt_Action] = self.CmdAction - self._cmdmap[Record_Event.Evt_Win] = self.CmdWin - self._cmdmap[Record_Event.Evt_Niao] = self.CmdNiao - self._cmdmap[Record_Event.Evt_Piao] = self.CmdPiao - self._cmdmap[Record_Event.Evt_Result] = self.CmdResult + self._cmdmap = {} + self._cmdmap[Record_Event.Evt_GetCard] = self.CmdGetCard + self._cmdmap[Record_Event.Evt_OutCard] = self.CmdOutCard + self._cmdmap[Record_Event.Evt_Action] = self.CmdAction + self._cmdmap[Record_Event.Evt_Win] = self.CmdWin + self._cmdmap[Record_Event.Evt_Niao] = self.CmdNiao + self._cmdmap[Record_Event.Evt_Piao] = self.CmdPiao + self._cmdmap[Record_Event.Evt_Result] = self.CmdResult end function M:FillRoomData(data) - MJPlayBackView.FillRoomData(self) - if self._win_pic then self._win_pic:Dispose() end - if self._niao then self._niao:Dispose() end - self._currentStep = 0 - local room = DataManager.CurrenRoom - local _player_card_info = self._player_card_info - local left_count = data.info.left_card - self:UpdateLeftCard(left_count) - local round = data.info.round - self:UpdateRound(round) + MJPlayBackView.FillRoomData(self) + if self._win_pic then self._win_pic:Dispose() end + if self._niao then self._niao:Dispose() end + self._currentStep = 0 + local room = DataManager.CurrenRoom + local _player_card_info = self._player_card_info + local left_count = data.info.left_card + self:UpdateLeftCard(left_count) + local round = data.info.round + self:UpdateRound(round) - local roominfo_panel = self._view:GetChild("roominfo_panel1") - roominfo_panel:GetChild("tex_roomid").text = room.room_id - roominfo_panel:GetChild("tex_gametype").text = room.room_config:GetGameName() + local roominfo_panel = self._view:GetChild("roominfo_panel1") + roominfo_panel:GetChild("tex_roomid").text = room.room_id + roominfo_panel:GetChild("tex_gametype").text = room.room_config:GetGameName() - for i = 1, #room.player_list do - local p = room.player_list[i] - local card_info = _player_card_info[self:GetPos(p.seat)] - card_info:Clear() - table.sort(p.card_list, ViewUtil.HandCardSort) - card_info:UpdateHandCard(false, true) - self._player_info[i]._view:GetController("piao_niao").selectedIndex = 0 - end + for i = 1, #room.player_list do + local p = room.player_list[i] + local card_info = _player_card_info[self:GetPos(p.seat)] + card_info:Clear() + table.sort(p.card_list, ViewUtil.HandCardSort) + card_info:UpdateHandCard(false, true) + self._player_info[i]._view:GetController("piao_niao").selectedIndex = 0 + end - self:GenerateAllStepData(data) - self:UpdateStep(1) - -- self:ShowStep(0) + self:GenerateAllStepData(data) + self:UpdateStep(1) + -- self:ShowStep(0) end function M:ShowStep(index) - local step = self._step[index + 1] - self:UpdateLeftCard(step.left_card) - -- self._ctr_cardbox.selectedIndex = step.current_out_seat - self:UpdateCardBox(self:GetPos(step.current_out_seat)) - self:UpdateStep(index + 1) - if step.cmd ~= Record_Event.Evt_OutCard then - self:RemoveCursor() - end - for i = 1, #step.player_card_data do - local p = self._room:GetPlayerBySeat(i) - local info = self._player_card_info[self:GetPos(i)] - p.card_list = step.player_card_data[i].card_list - p.outcard_list = step.player_card_data[i].outcard_list - p.fz_list = step.player_card_data[i].fz_list - p.hand_left_count = #p.card_list - info:Clear() - info:ResetFzList() - p.piao_niao = step.player_card_data[i].piao_niao - local head_info = self._player_info[self:GetPos(i)] - if p.piao_niao and p.piao_niao > 0 then - head_info._view:GetChild("mask_piao").title = "飘分 " .. p.piao_niao - head_info._view:GetController("piao_niao").selectedIndex = 1 - else - head_info._view:GetController("piao_niao").selectedIndex = 0 - end - if step.cmd == Record_Event.Evt_OutCard and i == step.last_out_seat then - local card = p.outcard_list[#p.outcard_list] - info:UpdateOutCardList(nil, nil, self._cursor) - else - info:UpdateOutCardList() - end - if step.cmd == Record_Event.Evt_GetCard and p.seat == step.current_out_seat then - info:UpdateHandCard(true, true) - else - info:UpdateHandCard(false, true) - end - end - if step.cmd == Record_Event.Evt_Win then - self._win_pic = UIPackage.CreateObjectFromURL("ui://Main_Majiang/胡") - local info = self._player_card_info[self:GetPos(step.win)] - info._mask_liangpai:AddChild(self._win_pic) - self._win_pic:Center() - else - if self._win_pic then - self._win_pic:Dispose() - end - end - if step.cmd == Record_Event.Evt_Niao then - local niao_list = step.niao - self._niao = UIPackage.CreateObjectFromURL("ui://Extend_MJ_LiChuan/Panel_Birds") - local list = self._niao:GetChild("Lst_birds") - list:RemoveChildrenToPool() - for i = 1, #niao_list do - local item = list:AddItemFromPool() - item.icon = UIPackage.GetItemURL("Main_Majiang", "201_" .. niao_list[i].card) - if niao_list[i].score > 0 then - item:GetController("bg").selectedIndex = 2 - end - end - self._view:AddChild(self._niao) - self._view:AddChild(self._view:GetChild("panel_record")) - self._niao:Center() - else - if self._niao then - self._niao:Dispose() - end - end - if step.cmd == Record_Event.Evt_Result then - if not self.result then - self.result = EXClearingView.new(self._root_view, true) - self.result:InitData(0, self._room, step.result_data) - self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5 - self.result._view.width = GRoot.inst.width - self.result._view.height = GRoot.inst.height - self.result._view:GetChild("btn_confirm").visible = false - self._anchor:AddChild(self.result._view) - self.result._view.x = self._anchor.x * -1 - self.result._view.y = self._anchor.y * -1 - else - self.result._view.visible = true - end - -- self.result._view:Center() - else - if self.result then - self.result._view.visible = false - end - end + local step = self._step[index + 1] + self:UpdateLeftCard(step.left_card) + -- self._ctr_cardbox.selectedIndex = step.current_out_seat + self:UpdateCardBox(self:GetPos(step.current_out_seat)) + self:UpdateStep(index + 1) + if step.cmd ~= Record_Event.Evt_OutCard then + self:RemoveCursor() + end + for i = 1, #step.player_card_data do + local p = self._room:GetPlayerBySeat(i) + local info = self._player_card_info[self:GetPos(i)] + p.card_list = step.player_card_data[i].card_list + p.outcard_list = step.player_card_data[i].outcard_list + p.fz_list = step.player_card_data[i].fz_list + p.hand_left_count = #p.card_list + info:Clear() + info:ResetFzList() + p.piao_niao = step.player_card_data[i].piao_niao + local head_info = self._player_info[self:GetPos(i)] + if p.piao_niao and p.piao_niao > 0 then + head_info._view:GetChild("mask_piao").title = "飘分 " .. p.piao_niao + head_info._view:GetController("piao_niao").selectedIndex = 1 + else + head_info._view:GetController("piao_niao").selectedIndex = 0 + end + if step.cmd == Record_Event.Evt_OutCard and i == step.last_out_seat then + local card = p.outcard_list[#p.outcard_list] + info:UpdateOutCardList(nil, nil, self._cursor) + else + info:UpdateOutCardList() + end + if step.cmd == Record_Event.Evt_GetCard and p.seat == step.current_out_seat then + info:UpdateHandCard(true, true) + else + info:UpdateHandCard(false, true) + end + end + if step.cmd == Record_Event.Evt_Win then + self._win_pic = UIPackage.CreateObjectFromURL("ui://Main_Majiang/胡") + local info = self._player_card_info[self:GetPos(step.win)] + info._mask_liangpai:AddChild(self._win_pic) + self._win_pic:Center() + else + if self._win_pic then + self._win_pic:Dispose() + end + end + if step.cmd == Record_Event.Evt_Niao then + local niao_list = step.niao + self._niao = UIPackage.CreateObjectFromURL("ui://Extend_MJ_LiChuan/Panel_Birds") + local list = self._niao:GetChild("Lst_birds") + list:RemoveChildrenToPool() + for i = 1, #niao_list do + local item = list:AddItemFromPool() + item.icon = UIPackage.GetItemURL("Main_Majiang", "201_" .. niao_list[i].card) + if niao_list[i].score > 0 then + item:GetController("bg").selectedIndex = 2 + end + end + self._view:AddChild(self._niao) + self._view:AddChild(self._view:GetChild("panel_record")) + self._niao:Center() + else + if self._niao then + self._niao:Dispose() + end + end + if step.cmd == Record_Event.Evt_Result then + if not self.result then + self.result = EXClearingView.new(self._root_view, true) + self.result:InitData(0, self._room, step.result_data) + self.result._view.x = (GRoot.inst.width - self.result._view.width) * -0.5 + self.result._view.width = GRoot.inst.width + self.result._view.height = GRoot.inst.height + self.result._view:GetChild("btn_confirm").visible = false + self._anchor:AddChild(self.result._view) + self.result._view.x = self._anchor.x * -1 + self.result._view.y = self._anchor.y * -1 + else + self.result._view.visible = true + end + -- self.result._view:Center() + else + if self.result then + self.result._view.visible = false + end + end end function M:GenerateAllStepData(data) - local cmdList = self.cmdList - self._step = {} - local step = {} - local info = data.info - step.cmd = "" - step.left_card = info.left_card - step.last_out_seat = 0 - step.current_out_seat = 1 - step.win = 0 - step.niao = 0 + local cmdList = self.cmdList + self._step = {} + local step = {} + local info = data.info + step.cmd = "" + step.left_card = info.left_card + step.last_out_seat = 0 + step.current_out_seat = 1 + step.win = 0 + step.niao = 0 - step.player_card_data = {} - for i = 1, #self._room.player_list do - local p = info.playerData[i] - local u = {} - u.seat = p.seat - u.card_list = p.hand_card - u.hand_left_count = #u.card_list - u.fz_list = {} - u.outcard_list = {} - u.piao_niao = p.piao_niao - step.player_card_data[u.seat] = u - end - self._step[#self._step + 1] = step + step.player_card_data = {} + for i = 1, #self._room.player_list do + local p = info.playerData[i] + local u = {} + u.seat = p.seat + u.card_list = p.hand_card + u.hand_left_count = #u.card_list + u.fz_list = {} + u.outcard_list = {} + u.piao_niao = p.piao_niao + step.player_card_data[u.seat] = u + end + self._step[#self._step + 1] = step - for i = 1, #cmdList do - local tem = cmdList[i] - self._cmdmap[tem.cmd](self, tem, i) - end + for i = 1, #cmdList do + local tem = cmdList[i] + self._cmdmap[tem.cmd](self, tem, i) + end end function M:CmdGetCard(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.current_out_seat = cmd.seat - data.left_card = cmd.data.left_count - local u = data.player_card_data[cmd.seat] - u.card_list[#u.card_list + 1] = cmd.data.card + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.current_out_seat = cmd.seat + data.left_card = cmd.data.left_count + local u = data.player_card_data[cmd.seat] + u.card_list[#u.card_list + 1] = cmd.data.card end function M:CmdOutCard(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.last_out_seat = cmd.seat - local u = data.player_card_data[cmd.seat] - list_remove(u.card_list, cmd.data.card) - table.sort(u.card_list, ViewUtil.HandCardSort) - u.outcard_list[#u.outcard_list + 1] = cmd.data.card + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.last_out_seat = cmd.seat + local u = data.player_card_data[cmd.seat] + list_remove(u.card_list, cmd.data.card) + table.sort(u.card_list, ViewUtil.HandCardSort) + u.outcard_list[#u.outcard_list + 1] = cmd.data.card end function M:CmdAction(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.last_out_seat = 0 - data.current_out_seat = cmd.seat - local u = data.player_card_data[cmd.seat] - for i = 1, #cmd.data.opcard do - list_remove(u.card_list, cmd.data.opcard[i]) - end - local fz = {} - fz.type = cmd.data.type - fz.card = cmd.data.card - fz.opcard = cmd.data.opcard - local uf = data.player_card_data[cmd.data.from_seat] - if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then - table.remove(uf.outcard_list, #uf.outcard_list) - end - if fz.type ~= FZType.Gang_Peng then - u.fz_list[#u.fz_list + 1] = fz - else - for i = 1, #u.fz_list do - if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then - u.fz_list[i].type = FZType.Gang_Peng - end - end - end + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.last_out_seat = 0 + data.current_out_seat = cmd.seat + local u = data.player_card_data[cmd.seat] + for i = 1, #cmd.data.opcard do + list_remove(u.card_list, cmd.data.opcard[i]) + end + local fz = {} + fz.type = cmd.data.type + fz.card = cmd.data.card + fz.opcard = cmd.data.opcard + local uf = data.player_card_data[cmd.data.from_seat] + if fz.type ~= FZType.Gang_An and fz.type ~= FZType.Gang_Peng then + table.remove(uf.outcard_list, #uf.outcard_list) + end + if fz.type ~= FZType.Gang_Peng then + u.fz_list[#u.fz_list + 1] = fz + else + for i = 1, #u.fz_list do + if u.fz_list[i].type == FZType.Peng and u.fz_list[i].card == fz.card then + u.fz_list[i].type = FZType.Gang_Peng + end + end + end end function M:CmdWin(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.win = cmd.seat + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.win = cmd.seat end function M:CmdNiao(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.niao = cmd.data.niao + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.niao = cmd.data.niao end function M:CmdPiao(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.player_card_data[cmd.seat].piao_niao = cmd.data.num + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.player_card_data[cmd.seat].piao_niao = cmd.data.num end function M:CmdResult(cmd, index) - local data = self:CopyLastStep(index) - data.cmd = cmd.cmd - data.result_data = cmd.data + local data = self:CopyLastStep(index) + data.cmd = cmd.cmd + data.result_data = cmd.data end function M:CopyLastStep(index) - local step = {} - local last_step = self._step[index] - step = membe_deep_clone(last_step) - self._step[#self._step + 1] = step - step.result_data = nil - return step + local step = {} + local last_step = self._step[index] + step = membe_deep_clone(last_step) + self._step[#self._step + 1] = step + step.result_data = nil + return step end function M:UpdateLeftCard(num) - self._tex_LeftCard.text = "剩余 " .. num .. " 张牌" + self._tex_LeftCard.text = "剩余 " .. num .. " 张牌" end function M:UpdateCardBox(seat) - local index = seat - local people_num = self._room.room_config.people_num - if people_num == 2 and seat == 2 then - index = 3 - elseif people_num == 3 and seat == 3 then - index = 4 - end - self._ctr_cardbox.selectedIndex = index + local index = seat + local people_num = self._room.room_config.people_num + if people_num == 2 and seat == 2 then + index = 3 + elseif people_num == 3 and seat == 3 then + index = 4 + end + self._ctr_cardbox.selectedIndex = index end function M:UpdateRound(round) - self._tex_round.text = "第 " .. round .. "/" .. self._room.room_config.round .. " 局" + self._tex_round.text = "第 " .. round .. "/" .. self._room.room_config.round .. " 局" end function M:UpdateStep(step) - self._record:GetChild("tex_step").text = "第 " .. step .. " / " .. #self._step .. "步" + self._record:GetChild("tex_step").text = "第 " .. step .. " / " .. #self._step .. "步" end return M diff --git a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua index db8e73da..89c9beda 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua @@ -80,9 +80,9 @@ function M:Clear() self._area_handcard_list:RemoveChildren(0, -1, true) self._area_outcard_list:RemoveChildren(0, -1, true) self._mask_liangpai:RemoveChildren(0, -1, true) - self._view_handCardList:RemoveChildrenToPool() - self._view_outCardList:RemoveChildrenToPool() - self._view_FZList:RemoveChildrenToPool() + self._view_handCardList:RemoveChildren(0, -1, true) + self._view_outCardList:RemoveChildren(0, -1, true) + self._view_FZList:RemoveChildren(0, -1, true) end -- 获取麻将资源前缀 diff --git a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua index e62269d2..fe5b9696 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua @@ -400,9 +400,9 @@ function M:Clear(bskip) self._area_fz_list:RemoveChildren(0, -1, true) self._area_handcard_list:RemoveChildren(0, -1, true) self._area_outcard_list:RemoveChildren(0, -1, true) - self._view_handCardList:RemoveChildrenToPool() - self._view_outCardList:RemoveChildrenToPool() - self._view_FZList:RemoveChildrenToPool() + self._view_handCardList:RemoveChildren(0, -1, true) + self._view_outCardList:RemoveChildren(0, -1, true) + self._view_FZList:RemoveChildren(0, -1, true) self._view_handCardList.selectedIndex = -1 self._click_index = self._view_handCardList.selectedIndex