diff --git a/lua_probject/base_project/Game/View/PlayerInfoView2.lua b/lua_probject/base_project/Game/View/PlayerInfoView2.lua index e6055b89..cd36e4a4 100644 --- a/lua_probject/base_project/Game/View/PlayerInfoView2.lua +++ b/lua_probject/base_project/Game/View/PlayerInfoView2.lua @@ -169,7 +169,10 @@ function M:FillData(player) end end -function M:UpdateScore(score) +function M:UpdateScore(score, doAnimation) + + local lastScore = tonumber(self._tex_score.text) + if not score then score = self._player.total_score -- local room = DataManager.CurrenRoom @@ -185,6 +188,10 @@ function M:UpdateScore(score) -- end end self._tex_score.text = tostring(score) + + if doAnimation then + self:ScoreAnimation(lastScore - score) + end end function M:SetStartType(peopleNum, seat) diff --git a/lua_probject/extend_project/extend/majiang/fuzhou/EXGameController.lua b/lua_probject/extend_project/extend/majiang/fuzhou/EXGameController.lua index 13725234..48795fb4 100644 --- a/lua_probject/extend_project/extend/majiang/fuzhou/EXGameController.lua +++ b/lua_probject/extend_project/extend/majiang/fuzhou/EXGameController.lua @@ -316,12 +316,13 @@ function M:OnEventHu(evt_data) local lose_p = self._room:GetPlayerBySeat(evt_data["from_seat"]) local win_card = evt_data["win_card"] local win_list = evt_data["win_list"] + local scoreData = evt_data["result"].info_list self._cacheEvent:Enqueue(function() win_p.card_list = cards table.sort(win_p.card_list, self.HandCardSortAndJing) DispatchEvent(self._dispatcher, TX_GameEvent.ZPHuCard, evt_data["seat"], evt_data["from_seat"], win_card, cards, - win_list) + win_list, scoreData) end) end diff --git a/lua_probject/main_project/main/majiang/MJMainView.lua b/lua_probject/main_project/main/majiang/MJMainView.lua index 55a772a5..82db471a 100644 --- a/lua_probject/main_project/main/majiang/MJMainView.lua +++ b/lua_probject/main_project/main/majiang/MJMainView.lua @@ -713,6 +713,7 @@ function M:OnHuCard(...) local win_card = arg[3] local cards = arg[4] local win_list = arg[5] + local scoreData = arg[6] local index = self:GetPos(win_seat) local info = self._player_card_info[index] local player = self._room:GetPlayerBySeat(win_seat) @@ -800,6 +801,12 @@ function M:OnHuCard(...) coroutine.wait(0.7) end + -- 扣分动画 + for _, player in pairs(scoreData) do + local infoView = self._player_info[self:GetPos(player.seat)] + infoView:UpdateScore(player.total_score, true) + end + coroutine.wait(0.5) self._popEvent = true list_HuCardEffect:RemoveChildrenToPool() diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_2/Player_card_info_N.xml b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_2/Player_card_info_N.xml index 8dbb92c5..f2148788 100644 --- a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_2/Player_card_info_N.xml +++ b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_2/Player_card_info_N.xml @@ -4,7 +4,7 @@ - + @@ -31,8 +31,8 @@ - - + + diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_3_jiangxi.xml b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_3_jiangxi.xml index bf3d811f..858a6459 100644 --- a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_3_jiangxi.xml +++ b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_3_jiangxi.xml @@ -1,6 +1,6 @@ - + @@ -14,15 +14,15 @@ - - - + + + diff --git a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_4_jiangxi.xml b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_4_jiangxi.xml index 6baeb520..be254192 100644 --- a/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_4_jiangxi.xml +++ b/wb_new_ui/assets/Main_Majiang/Main_new/Main_new_4_jiangxi.xml @@ -1,6 +1,6 @@ - + @@ -21,10 +21,10 @@ - + - + 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 9c9788f5..3d664ae7 100644 Binary files a/wb_unity_pro/Assets/ART/base/main_majiang/ui/Main_Majiang_fui.bytes and b/wb_unity_pro/Assets/ART/base/main_majiang/ui/Main_Majiang_fui.bytes differ