From 81d75aa5ce465d2c7f53223202c25341bd377af2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=BD=97=E5=AE=B6=E7=82=9C?= <2029049582@qq.com> Date: Fri, 16 May 2025 17:45:35 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=8C=E6=AD=A5=E6=A2=AD=E5=93=88=E7=BB=93?= =?UTF-8?q?=E7=AE=97=E7=95=8C=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Game/View/Family/FamilyNumberRecord.lua | 26 ++++- .../extend/poker2/suoha/ExMainView.lua | 6 ++ .../suoha/ExPlayerSelfPokerInfoView.lua | 2 +- .../extend/poker2/suoha/ExResultView.lua | 94 +++--------------- .../ART/base/Family/ui/Family_fui.bytes | Bin 46884 -> 44664 bytes .../suoha/ui/Extend_Poker_SuoHa_fui.bytes | Bin 29557 -> 30236 bytes 6 files changed, 42 insertions(+), 86 deletions(-) diff --git a/lua_probject/base_project/Game/View/Family/FamilyNumberRecord.lua b/lua_probject/base_project/Game/View/Family/FamilyNumberRecord.lua index d1a6340e..2a2583cc 100644 --- a/lua_probject/base_project/Game/View/Family/FamilyNumberRecord.lua +++ b/lua_probject/base_project/Game/View/Family/FamilyNumberRecord.lua @@ -22,8 +22,21 @@ function FamilyNumberRecord.New(root) self._view:GetChild('text_residueDiamond').text = self._group.diamo self._view:GetChild('text_timeRecord').visible = false + local playList = self._group.playList + local comp_gameTypeList = self._view:GetChild('comp_gameTypeList'):GetChild('n0') + self._input_IDSerach = self._view:GetChild('input_numberID') + comp_gameTypeList:SetVirtual() + comp_gameTypeList.itemRenderer = function(index, obj) + obj.title = playList[index + 1].game_name + obj.data = {} + obj.data.index = index + obj.data.pid = playList[index + 1].id + end + comp_gameTypeList.numItems = #playList + + self._view:GetChild('btn_clearInput').onClick:Set(function() self._input_IDSerach.text = "" end) @@ -40,16 +53,19 @@ function FamilyNumberRecord.New(root) self._view:GetChild('comp_sortTypeList'):GetChild('n0').onClickItem:Set(function(context) self:OnClickSortType(context) end) - self._view:GetChild('comp_gameTypeList'):GetChild('n0').onClickItem:Set(function(context) - self:OnClickSortType(context) + comp_gameTypeList.onClickItem:Set(function(context) + self:OnClickSortType(self._group.id, context.data.pid) end) return self end -function M:OnClickSortType(context) - print("lingmengOnClickSortType", context.data.title, context.data.text) - pt(getmetatable(context.data.data)) +function M:OnClickSortType(groupId, pid) + print("lingmengOnClickSortType") + local fgCtr = ControllerManager.GetController(NewGroupController) + fgCtr:FG_GetGroupRecord(groupId, GetPlatform(), pid, 0, 100, function(res) + + end) end return M diff --git a/lua_probject/extend_project/extend/poker2/suoha/ExMainView.lua b/lua_probject/extend_project/extend/poker2/suoha/ExMainView.lua index a2633c36..6e58a5bf 100644 --- a/lua_probject/extend_project/extend/poker2/suoha/ExMainView.lua +++ b/lua_probject/extend_project/extend/poker2/suoha/ExMainView.lua @@ -330,6 +330,12 @@ function M:EventInit() _gamectr:AddEventListener(EXGameEvent.OnResult1, function(...) local arg = { ... } + self.result_view = EXResultView.new(self._root_view, self._room.player_list, self._room.room_id, 0, win_seat, 0, + remaincards) + self.result_view:InitBackReady(function() + self._state.selectedIndex = 0 + end) + self.result_view:Show() end) _gamectr:AddEventListener(EXGameEvent.OnResult2, function(...) diff --git a/lua_probject/extend_project/extend/poker2/suoha/ExPlayerSelfPokerInfoView.lua b/lua_probject/extend_project/extend/poker2/suoha/ExPlayerSelfPokerInfoView.lua index d209ea48..7555e892 100644 --- a/lua_probject/extend_project/extend/poker2/suoha/ExPlayerSelfPokerInfoView.lua +++ b/lua_probject/extend_project/extend/poker2/suoha/ExPlayerSelfPokerInfoView.lua @@ -51,7 +51,7 @@ function M:ShowTips(tipsList) self._view_tipsList:RemoveChildren() print("lingmengShowTips", #tipsList) for i = 1, #tipsList do - if tipsList[i] == 1012 then + if tipsList[i] == 1012 or tipsList[i] == 1014 then local xiaScore = { 1, 2, 5 } for j = 1, 3 do local obj = self._view_tipsList:AddItemFromPool() diff --git a/lua_probject/extend_project/extend/poker2/suoha/ExResultView.lua b/lua_probject/extend_project/extend/poker2/suoha/ExResultView.lua index 2b1591fe..6ba59e48 100644 --- a/lua_probject/extend_project/extend/poker2/suoha/ExResultView.lua +++ b/lua_probject/extend_project/extend/poker2/suoha/ExResultView.lua @@ -17,7 +17,7 @@ function EXResultView.new(blur_view, data, roomid, over, win_seat, dissolve, rem self._close_zone = false --self._blur_view = blur_view self._gamectr = ControllerManager.GetController(GameController) - self:init("ui://Extend_Poker_SuoHa/clearing_new", data, roomid, over, win_seat, dissolve, remaincards) + self:init("ui://Extend_Poker_SuoHa/Clearing", data, roomid, over, win_seat, dissolve, remaincards) print("=======================lingmengresult", data, roomid, over, win_seat, dissolve, remaincards) return self end @@ -25,89 +25,23 @@ end function M:init(url, data, roomid, over, win_seat, dissolve, remaincards) ResultView.init(self, url, true) + local _gamectr = ControllerManager.GetController(GameController) local room = DataManager.CurrenRoom - self._view:GetController('over').selectedIndex = 0 - --按钮功能全部未开放 - self._view:GetChild('btn_shareRecord').onClick:Set(function() - ViewUtil.ErrorMsg(self._view, "", "该功能还未开放") - end) - self._view:GetChild('btn_copyRecord').onClick:Set(function() - ViewUtil.ErrorMsg(self._view, "", "该功能还未开放") - end) - ------------------ - - --只有一人直接退,有两人才进正常结算 - if not over and #data == 1 then - ViewManager.ChangeView(ViewManager.View_Family) - end - - if over == 0 then - self._view:GetChild('btn_nextRound').onClick:Set(function() - self:Destroy() - local _gamectr = ControllerManager.GetController(GameController) - _gamectr:ConformToNextGame() - end) - end - - - self._view:GetChild('btn_closeRound').onClick:Set(function() - ViewManager.ChangeView(ViewManager.View_Family) - end) - - self._view:GetController('win').selectedIndex = win_seat == room.self_player.seat and 1 or 0 - - local over0List = self._view:GetChild('list_over0') - over0List:SetVirtual() - over0List.itemRenderer = function(index, obj) - local info = data[index + 1] - local playerInfo = room:GetPlayerBySeat(info.seat) - obj:GetChild('name').text = playerInfo.self_user.nick_name - obj:GetChild('residue').text = #info.handCards - obj:GetChild('bomb').text = info.thisboomnum - obj:GetChild('score').text = info.winscore > 0 and string.format("+%d", info.winscore) or info.winscore - end - over0List.numItems = #data - - if over == 1 or (not over and #data == 2) then - self._view:GetChild('text_roomID').text = room.room_id - self._view:GetChild('text_time').text = os.date('%m-%d %H:%M', os.time()) - self._view:GetChild('text_groupID').text = room.group_id or 0 - for i = 1, #data do - local info = data[i] - local playerInfo = room:GetPlayerBySeat(info.seat) - self:FillPlayerInfoEnd(self._view:GetChild(string.format("comp_playerInfo%d_over1", i)), info, playerInfo) + self._view:GetChild('btn_nextRound').onClick:Set(function() + if self._callback_backReady then + self._callback_backReady() + else + _gamectr:PlayerReady() end - coroutine.start(function() - coroutine.wait(2) - self._view:GetController('over').selectedIndex = 1 - end) + self:Destroy() + end) +end + +function M:InitBackReady(callback) + if callback then + self._callback_backReady = callback end end -function M:FillPlayerInfoEnd(view, info, playerInfo) - local room = DataManager.CurrenRoom - - self:FillPlayerHead(view:GetChild('comp_playerInfo'), playerInfo) - - local detailList = view:GetChild('list_detail') - - self:FillDetailChild(detailList:AddItemFromPool(), "单局最高得分", info.settle_log.maxscore) - self:FillDetailChild(detailList:AddItemFromPool(), "打出炸弹数", info.settle_log.boomnum) - self:FillDetailChild(detailList:AddItemFromPool(), "胜负局数", - string.format("%d赢%d输", info.settle_log.winnum, room.room_config.Times - info.settle_log.winnum)) - self:FillDetailChild(detailList:AddItemFromPool(), "总积分", info.total_score) -end - -function M:FillPlayerHead(view, playerInfo) - ImageLoad.Load(playerInfo.self_user.head_url, view:GetChild('btn_head')._iconObject) - view:GetChild('text_name').text = playerInfo.self_user.nick_name - view:GetChild('text|_ID').text = playerInfo.self_user.account_id -end - -function M:FillDetailChild(view, title, value) - view:GetChild('text_title').text = title - view:GetChild('text_value').text = value -end - return M diff --git a/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes b/wb_unity_pro/Assets/ART/base/Family/ui/Family_fui.bytes index 89baadd493927517d264b5e51bc5e7bb5d9016cf..997004f34285d89393d0e93e49b0b3adb4408566 100644 GIT binary patch delta 5271 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 pRrR-SxV5ORP?Zq# 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 diff --git a/wb_unity_pro/Assets/ART/extend/poker2/suoha/ui/Extend_Poker_SuoHa_fui.bytes b/wb_unity_pro/Assets/ART/extend/poker2/suoha/ui/Extend_Poker_SuoHa_fui.bytes index 91084f409c821eab5a0fe277d64d2594738cab84..af0b4bec184c77214cdf3e8afa27697c25030c8f 100644 GIT binary patch delta 4698 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 delta 4378 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