hengyang_client/lua_probject/extend_project/extend/poker2/suoha/ExResultView.lua

114 lines
4.2 KiB
Lua
Raw Normal View History

2025-05-07 10:29:37 +08:00
---
--- Created by 谌建军.
--- DateTime: 2017/12/19 11:05
---
require("Game.View.ResultView")
local ExResultView = {}
local M = ExResultView
function ExResultView.new(blur_view, data, roomid, over, win_seat, dissolve, remaincards)
setmetatable(M, { __index = ResultView })
local self = setmetatable({}, { __index = M })
self.class = "ExResultView"
self._currenIndex = 0
self._close_zone = false
--self._blur_view = blur_view
self._gamectr = ControllerManager.GetController(GameController)
self:init("ui://Extend_Poker_RunFastNew/clearing_new", data, roomid, over, win_seat, dissolve, remaincards)
print("=======================lingmengresult", data, roomid, over, win_seat, dissolve, remaincards)
return self
end
function M:init(url, data, roomid, over, win_seat, dissolve, remaincards)
ResultView.init(self, url, true)
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)
end
coroutine.start(function()
coroutine.wait(2)
self._view:GetController('over').selectedIndex = 1
end)
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