From 5f6d3f15ea6ad72e0da620f5f6757c858bc75332 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, 18 Apr 2025 16:45:07 +0800 Subject: [PATCH] =?UTF-8?q?=E5=87=BA=E7=89=8C=E5=8C=BA=E6=98=BE=E7=A4=BA?= =?UTF-8?q?=E7=B2=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../extend/majiang/lichuan/EXClearingView.lua | 3 +- .../majiang/lichuan/EXMainView_jaingxi.lua | 4 +- .../lichuan/MJPlayerCardInfoView_jiangxi.lua | 213 ++++++++++++++++++ .../MJPlayerSelfCardInfoView_jiangxi.lua | 213 ++++++++++++++++++ .../main_project/main/majiang/MJMainView.lua | 3 + .../main_majiang/ui/main_majiang_fui.bytes | Bin 306029 -> 306528 bytes 6 files changed, 433 insertions(+), 3 deletions(-) create mode 100644 lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua create mode 100644 lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua diff --git a/lua_probject/extend_project/extend/majiang/lichuan/EXClearingView.lua b/lua_probject/extend_project/extend/majiang/lichuan/EXClearingView.lua index 8cccdcfd..dabe8186 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXClearingView.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXClearingView.lua @@ -178,8 +178,8 @@ function M:fillResult0(room, peopleNum, result) handCardList:SetVirtual() handCardList.itemRenderer = function(index, obj) obj.icon = string.format("ui://Main_Majiang/%s202_%d", self:GetPrefix(), infoList.hand_card[index + 1]) - print("=================================FZType", room.jing) if room.jing == infoList.hand_card[index + 1] then + ViewUtil:ErrorTip("显示精") obj:GetController('jing').selectedIndex = 1 end end @@ -191,6 +191,7 @@ function M:fillResult0(room, peopleNum, result) end if infoList.seat == room.banker_seat then + ViewUtil:ErrorTip("显示庄家") isZhuang.selectedIndex = 1 end 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 70393f33..7a0b4fc0 100644 --- a/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua +++ b/lua_probject/extend_project/extend/majiang/lichuan/EXMainView_jaingxi.lua @@ -1,5 +1,5 @@ -local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView") -local MJPlayerCardInfoView = require(".MJPlayerCardInfoView") +local MJPlayerSelfCardInfoView = import(".MJPlayerSelfCardInfoView_jiangxi") +local MJPlayerCardInfoView = require(".MJPlayerCardInfoView_jiangxi") local MJMainView = require("main.majiang.MJMainView") local EXClearingView = import(".EXClearingView") local TX_GameEvent = import(".GameEvent") diff --git a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua new file mode 100644 index 00000000..f855e2f3 --- /dev/null +++ b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerCardInfoView_jiangxi.lua @@ -0,0 +1,213 @@ +local MJPlayerSelfCardInfoView = require("main.majiang.MJPlayerSelfCardInfoView") +local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView") +local CardCheck = import(".CardCheck") + +local M = {} +-- +function M.new(view, mainView) + setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView }) + setmetatable(M, { __index = MJPlayerSelfCardInfoView }) + local self = setmetatable({}, { __index = M }) + self.class = "PlayerSelfCardInfoView" + self._view = view + self._mainView = mainView + self:init() + return self +end + +function M:ShowHuTip(card_list) + printlog("ShowHuTip") + local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui, + DataManager.CurrenRoom.room_config.Laizi) + pt(tingList) + if #tingList > 0 then + if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then + for i = 1, #DataManager.CurrenRoom.laiziInfo do + if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then + table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i]) + end + end + end + end + self._mainView._hu_tip:FillData(tingList) +end + +function M:UpdateHandCard(getcard, mp) + print("====================================UpdateHandCard1", mp) + MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp) + local _carViewList = self._carViewList + + if DataManager.CurrenRoom.laiziInfo and #self._carViewList > 0 then + for i = 1, #self._carViewList do + local obj = self._carViewList[i] + if obj and obj.card then + if IsHasDictionary(obj.card_item, DataManager.CurrenRoom.laiziInfo) then + if obj.card.GetController then + if obj.card:GetController("laizi") then + obj.card:GetController("laizi").selectedIndex = 1 + end + end + else + if obj.card.GetController then + if obj.card:GetController("laizi") then + obj.card:GetController("laizi").selectedIndex = 0 + end + end + end + end + end + end + + print("====================================UpdateHandCard3") + local card_list = DataManager.CurrenRoom.self_player.card_list + -- self:ShowHuTip(card_list) + if getcard then + self._out_card = true + local card_list = membe_clone(DataManager.CurrenRoom.self_player.card_list) + -- 记录需要标记听牌提示的牌 + local lst_mark = {} + local total_num = 0 + for i = 1, #_carViewList do + local btn = _carViewList[i].card + local card = self:GetCard(btn) + list_remove(card_list, card) + local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, + DataManager.CurrenRoom.room_config.Qidui, DataManager.CurrenRoom.room_config.Laizi) + if #tingList > 0 then + local count = 0 + for j = 1, #tingList do + count = count + self._mainView:CountCardLeftNum(tingList[j]) + end + local tem = {} + tem.item = btn + tem.count = count + total_num = total_num + count + table.insert(lst_mark, tem) + end + table.insert(card_list, card) + end + table.sort(lst_mark, function(a, b) + return a.count > b.count + end) + -- 如果几张牌的可胡牌数一致,也只显示'三角',可胡牌数不一致才显示'多' + local all_same = #lst_mark ~= 0 and lst_mark[1].count == total_num / #lst_mark or false + for i = 1, #lst_mark do + local tem = lst_mark[i] + if all_same or tem.count < lst_mark[1].count then + tem.item:GetController("mark_ting").selectedIndex = 1 + else + tem.item:GetController("mark_ting").selectedIndex = 2 + end + end + else + for i = 1, #_carViewList do + local btn = _carViewList[i].card + if btn:GetController("mark_ting").selectedIndex ~= 0 then + btn:GetController("mark_ting").selectedIndex = 0 + end + end + self._out_card = false + end +end + +function M:__OnClickHandCard(context) + -- print("==========================__OnClickHandCard") + local button = context.sender + local _carViewList = self._carViewList + local refresh = true + local card_list = {} + for i = 1, #_carViewList do + local btn = _carViewList[i].card + local card = self:GetCard(btn) + if btn ~= button and btn.selected == true then + if button.data.card_item == card then + refresh = false + else + self._mainView:markOutCards(false, card) + end + btn.selected = false + end + if not btn.selected then + table.insert(card_list, card) + end + end + + if self._out_card then + -- self:ShowHuTip(card_list) + end + + -- 标记出牌 + if refresh then + if button.selected then + self._mainView:markOutCards(true, button.data.card_item) + else + self._mainView:markOutCards(false, button.data.card_item) + end + end + + local _room = DataManager.CurrenRoom + if not button.selected and _room.curren_outcard_seat == _room.self_player.seat then + local card = button.data + self._mainView:OutCard(card.card_item) + end +end + +function M:__OnDragStart(card) + local card_list = membe_clone(DataManager.CurrenRoom.self_player.card_list) + list_remove(card_list, card) + -- self:ShowHuTip(card_list) +end + +function M:__OnDragEnd(context) + if self.outcard_button then + self.outcard_button:Dispose() + self.outcard_button = nil + end + local button = context.sender + + --button:RemoveFromParent() + local card = button.data + local _room = DataManager.CurrenRoom + + -- -- print("button.y"..button.y .. "_room.curren_outcard_seat".._room.curren_outcard_seat) + if (button.y - card.old_postion.y < -50 and _room.curren_outcard_seat == _room.self_player.seat and card.card_item ~= 0) then + self._mainView:OutCard(card.card_item) + button.touchable = false + self.outcard_button = button + else + self._area_handcard_list:AddChildAt(button, card.index) + button:TweenMove(card.old_postion, 0.2) + end +end + +function M:CheckPlayerOnlineState() + local room = DataManager.CurrenRoom + for i = 1, #room.player_list do + if room.player_list[i].line_state == 0 then + return false + end + end + return true +end + +function M:Clear(bskip) + --self._ctr_state.selectedIndex = 0 + self._area_fz_list.x = self._src_fz_list.x + self._area_fz_list.y = self._src_fz_list.y + self._area_fz_list.width = self._src_fz_list.z + self._area_fz_list.height = self._src_fz_list.w + + self._area_fz_list:RemoveChildren(0, -1, true) + self._area_handcard_list:RemoveChildren(0, -1, true) + self._area_outcard_list:RemoveChildren(0, -1, true) + if bskip == nil or bskip == false then + self._mask_liangpai:RemoveChildren(0, -1, true) + end + + for i = 1, #self._carViewList do + self._carViewList[i].card:Dispose() + end + self._carViewList = {} +end + +return M diff --git a/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua new file mode 100644 index 00000000..f855e2f3 --- /dev/null +++ b/lua_probject/extend_project/extend/majiang/lichuan/MJPlayerSelfCardInfoView_jiangxi.lua @@ -0,0 +1,213 @@ +local MJPlayerSelfCardInfoView = require("main.majiang.MJPlayerSelfCardInfoView") +local MJPlayerCardInfoView = require("main.majiang.MJPlayerCardInfoView") +local CardCheck = import(".CardCheck") + +local M = {} +-- +function M.new(view, mainView) + setmetatable(MJPlayerSelfCardInfoView, { __index = MJPlayerCardInfoView }) + setmetatable(M, { __index = MJPlayerSelfCardInfoView }) + local self = setmetatable({}, { __index = M }) + self.class = "PlayerSelfCardInfoView" + self._view = view + self._mainView = mainView + self:init() + return self +end + +function M:ShowHuTip(card_list) + printlog("ShowHuTip") + local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, DataManager.CurrenRoom.room_config.Qidui, + DataManager.CurrenRoom.room_config.Laizi) + pt(tingList) + if #tingList > 0 then + if DataManager.CurrenRoom.laiziInfo and #DataManager.CurrenRoom.laiziInfo > 0 then + for i = 1, #DataManager.CurrenRoom.laiziInfo do + if IsHasDictionary(DataManager.CurrenRoom.laiziInfo[i], tingList) == false then + table.insert(tingList, DataManager.CurrenRoom.laiziInfo[i]) + end + end + end + end + self._mainView._hu_tip:FillData(tingList) +end + +function M:UpdateHandCard(getcard, mp) + print("====================================UpdateHandCard1", mp) + MJPlayerSelfCardInfoView.UpdateHandCard(self, getcard, mp) + local _carViewList = self._carViewList + + if DataManager.CurrenRoom.laiziInfo and #self._carViewList > 0 then + for i = 1, #self._carViewList do + local obj = self._carViewList[i] + if obj and obj.card then + if IsHasDictionary(obj.card_item, DataManager.CurrenRoom.laiziInfo) then + if obj.card.GetController then + if obj.card:GetController("laizi") then + obj.card:GetController("laizi").selectedIndex = 1 + end + end + else + if obj.card.GetController then + if obj.card:GetController("laizi") then + obj.card:GetController("laizi").selectedIndex = 0 + end + end + end + end + end + end + + print("====================================UpdateHandCard3") + local card_list = DataManager.CurrenRoom.self_player.card_list + -- self:ShowHuTip(card_list) + if getcard then + self._out_card = true + local card_list = membe_clone(DataManager.CurrenRoom.self_player.card_list) + -- 记录需要标记听牌提示的牌 + local lst_mark = {} + local total_num = 0 + for i = 1, #_carViewList do + local btn = _carViewList[i].card + local card = self:GetCard(btn) + list_remove(card_list, card) + local tingList = CardCheck.MuiltiplteCaculateTingPai(card_list, true, + DataManager.CurrenRoom.room_config.Qidui, DataManager.CurrenRoom.room_config.Laizi) + if #tingList > 0 then + local count = 0 + for j = 1, #tingList do + count = count + self._mainView:CountCardLeftNum(tingList[j]) + end + local tem = {} + tem.item = btn + tem.count = count + total_num = total_num + count + table.insert(lst_mark, tem) + end + table.insert(card_list, card) + end + table.sort(lst_mark, function(a, b) + return a.count > b.count + end) + -- 如果几张牌的可胡牌数一致,也只显示'三角',可胡牌数不一致才显示'多' + local all_same = #lst_mark ~= 0 and lst_mark[1].count == total_num / #lst_mark or false + for i = 1, #lst_mark do + local tem = lst_mark[i] + if all_same or tem.count < lst_mark[1].count then + tem.item:GetController("mark_ting").selectedIndex = 1 + else + tem.item:GetController("mark_ting").selectedIndex = 2 + end + end + else + for i = 1, #_carViewList do + local btn = _carViewList[i].card + if btn:GetController("mark_ting").selectedIndex ~= 0 then + btn:GetController("mark_ting").selectedIndex = 0 + end + end + self._out_card = false + end +end + +function M:__OnClickHandCard(context) + -- print("==========================__OnClickHandCard") + local button = context.sender + local _carViewList = self._carViewList + local refresh = true + local card_list = {} + for i = 1, #_carViewList do + local btn = _carViewList[i].card + local card = self:GetCard(btn) + if btn ~= button and btn.selected == true then + if button.data.card_item == card then + refresh = false + else + self._mainView:markOutCards(false, card) + end + btn.selected = false + end + if not btn.selected then + table.insert(card_list, card) + end + end + + if self._out_card then + -- self:ShowHuTip(card_list) + end + + -- 标记出牌 + if refresh then + if button.selected then + self._mainView:markOutCards(true, button.data.card_item) + else + self._mainView:markOutCards(false, button.data.card_item) + end + end + + local _room = DataManager.CurrenRoom + if not button.selected and _room.curren_outcard_seat == _room.self_player.seat then + local card = button.data + self._mainView:OutCard(card.card_item) + end +end + +function M:__OnDragStart(card) + local card_list = membe_clone(DataManager.CurrenRoom.self_player.card_list) + list_remove(card_list, card) + -- self:ShowHuTip(card_list) +end + +function M:__OnDragEnd(context) + if self.outcard_button then + self.outcard_button:Dispose() + self.outcard_button = nil + end + local button = context.sender + + --button:RemoveFromParent() + local card = button.data + local _room = DataManager.CurrenRoom + + -- -- print("button.y"..button.y .. "_room.curren_outcard_seat".._room.curren_outcard_seat) + if (button.y - card.old_postion.y < -50 and _room.curren_outcard_seat == _room.self_player.seat and card.card_item ~= 0) then + self._mainView:OutCard(card.card_item) + button.touchable = false + self.outcard_button = button + else + self._area_handcard_list:AddChildAt(button, card.index) + button:TweenMove(card.old_postion, 0.2) + end +end + +function M:CheckPlayerOnlineState() + local room = DataManager.CurrenRoom + for i = 1, #room.player_list do + if room.player_list[i].line_state == 0 then + return false + end + end + return true +end + +function M:Clear(bskip) + --self._ctr_state.selectedIndex = 0 + self._area_fz_list.x = self._src_fz_list.x + self._area_fz_list.y = self._src_fz_list.y + self._area_fz_list.width = self._src_fz_list.z + self._area_fz_list.height = self._src_fz_list.w + + self._area_fz_list:RemoveChildren(0, -1, true) + self._area_handcard_list:RemoveChildren(0, -1, true) + self._area_outcard_list:RemoveChildren(0, -1, true) + if bskip == nil or bskip == false then + self._mask_liangpai:RemoveChildren(0, -1, true) + end + + for i = 1, #self._carViewList do + self._carViewList[i].card:Dispose() + end + self._carViewList = {} +end + +return M diff --git a/lua_probject/main_project/main/majiang/MJMainView.lua b/lua_probject/main_project/main/majiang/MJMainView.lua index a9f47975..7f47daa8 100644 --- a/lua_probject/main_project/main/majiang/MJMainView.lua +++ b/lua_probject/main_project/main/majiang/MJMainView.lua @@ -28,6 +28,7 @@ function M:InitView(url, use_custom_bg) self._room.card_type = DataManager.CardTypeList[tostring(self._room.game_id)] or 1 UIPackage.AddPackage("base/main_majiang/ui/Main_Majiang") + print("================================player_card_info", url) MainView.InitView(self, url) local _view = self._view self._cursor = UIPackage.CreateObjectFromURL("ui://Main_Majiang/Ani_play_bj") @@ -81,6 +82,8 @@ function M:InitView(url, use_custom_bg) local _player_card_info = self._player_card_info for i = 1, _room.room_config.people_num do local tem = _view:GetChild("player_card_info" .. i) + print("====================================", "player_card_info" .. i, tem) + pt(_view) _player_card_info[i] = self:NewMJPlayerCardInfoView(tem, i) end diff --git a/wb_unity_pro/Assets/ART/base/main_majiang/ui/main_majiang_fui.bytes b/wb_unity_pro/Assets/ART/base/main_majiang/ui/main_majiang_fui.bytes index 1da5ca6d6b84aa9aa461fdaeaa35d02001dcc048..53b3e7469f4fb24fd658250b7cf55563b58e249a 100644 GIT binary patch delta 41853 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 FdJ95|NH+ig delta 38208 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