--- --- Created by 谌建军. --- DateTime: 2017/12/19 11:05 --- require("Game.View.ResultView") local SanQianFen_ResultView = {} local M = SanQianFen_ResultView function SanQianFen_ResultView.new(blur_view, data, roomid, over, win_seat, dissolve, remaincards) setmetatable(M, {__index = ResultView}) local self = setmetatable({}, {__index = M}) self.class = "SanQianFen_ResultView" self._currenIndex = 0 self._close_zone = false --self._blur_view = blur_view self._gamectr = ControllerManager.GetController(GameController) self:init("ui://Extend_Poker_SanQianFen/clearing", 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) self.xiPaiCtr=self._view:GetController("xipai") local round=DataManager.CurrenRoom.room_config.config.times or 1 local xpconfig=DataManager.CurrenRoom.room_config.config.xi_pai if xpconfig and round>1 then self.xiPaiCtr.selectedIndex=1 else self.xiPaiCtr.selectedIndex=0 end --self:InitData(data,roomid) --self:InitData(data,roomid) --printlog("aaaaaaaaaaaaaaaa1111111111111111111111111222222222222222 ",dissolve) --pt(data) if dissolve == 1 then -- body self.xiPaiCtr.selectedIndex=0 self:InitData(data, win_seat, roomid) else local xipai=self._view:GetChild("btn_xipai") xipai.touchable=true xipai.onClick:Add(function() local xiPaiCallBack=function () xipai.touchable=false self.xiPaiCtr.selectedIndex=0 ViewUtil.ErrorTip(1000000,"申请洗牌成功") end local _gamectr = ControllerManager.GetController(GameController) _gamectr:SendXiPaiAction(xiPaiCallBack) end) if DataManager.CurrenRoom.xipaiScore then --xipai.text="洗牌 积分x"..DataManager.CurrenRoom.xipaiScore else --xipai.text="洗牌 积分x0" end self:InitData_One(data, win_seat, over, roomid, remaincards) end end function M:ChangeCodeByTo( card ) local flower = card % 10 local number = math.floor(card / 10) if number == 15 then number = 2 end return flower * 100 + number end -- 小结算 function M:InitData_One(data, winseat, over, roomid, remaincards) local room = DataManager.CurrenRoom self._view:GetController("sdk").selectedIndex = 1 local _gamectr = ControllerManager.GetController(GameController) local list_view = self._view:GetChild("player_list_1") list_view:RemoveChildrenToPool() local leftCardAll = self._view:GetChild("leftCardHand") leftCardAll:RemoveChildrenToPool() if remaincards and #remaincards>0 then table.sort(remaincards,function (a,b) return a % 100 < b % 100 end) for i=1,#remaincards do local x = remaincards[i] % 100 local t = remaincards[i] if x == 8 then t = remaincards[i] - 3 end local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_SanQianFen/"..t) if card_code_obj then leftCardAll:AddChild(card_code_obj) end end end for i = 1, #data do local player = data[i] local item = list_view:AddItemFromPool("ui://Extend_Poker_SanQianFen/clearing_item_1") --printlog("cccccccccccccccccccccccccccccccccccccccccc") -- pt(data[i]) -- local leftCard = item:GetChild("leftCard") -- leftCard:RemoveChildrenToPool() -- table.sort(data[i].handCards,function (a,b) -- return a % 100 < b % 100 -- end) -- for j=1,#data[i].handCards do -- local code = data[i].handCards[j] -- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_SanQianFen/"..code) -- if card_code_obj then -- leftCard:AddChild(card_code_obj) -- end -- end -- table.sort(data[i].outCards,function (a,b) -- return a % 100 < b % 100 -- end) -- for k=1,#data[i].outCards do -- local code = data[i].outCards[k] -- local card_code_obj = UIPackage.CreateObjectFromURL("ui://Extend_Poker_SanQianFen/"..code) -- if card_code_obj then -- leftCard:AddChild(card_code_obj) -- card_code_obj:GetChildAt(0):GetChildAt(0).color = Color(0.7,0.7,0.7) -- end -- end -- local boom = item:GetChild("boom") -- boom.text = player.thisboomnum local piao = item:GetChild("piao") if player.piao <= 0 then piao.text = "0" else piao.text = "" .. player.piao end -- local cur510kFen = item:GetChild("cur510kFen") -- if player.cur510kFen then -- cur510kFen.text =player.cur510kFen -- else -- cur510kFen.text = "nil" -- end local cur510kFen = item:GetChild("cur510kFen") if player.cur510kFen then cur510kFen.text =player.cur510kFen else cur510kFen.text = "nil" end local ju510kFen = item:GetChild("ju510kFen") if player.ju510kFen then ju510kFen.text =player.ju510kFen else ju510kFen.text = "nil" end local juXiFen = item:GetChild("juXiFen") if player.juXiFen then juXiFen.text =player.juXiFen else juXiFen.text = "nil" end local curXiFen = item:GetChild("curXiFen") if player.curXiFen then curXiFen.text =player.curXiFen else curXiFen.text = "nil" end local jiangli = item:GetChild("jiangli") if player.jiangli then jiangli.text =player.jiangli else jiangli.text = "nil" end local leftFen = item:GetChild("leftFen") if player.leftCardFen then leftFen.text =player.leftCardFen else leftFen.text = "nil" end local nichen = item:GetChild("nichen") if player.nick ~= nil then -- body nichen.text = tostring(player.nick) else nichen.text = tostring(player.self_user.nick_name) end -- local shengpai = item:GetChild("shengpai") -- if player.cards ~= nil then -- -- body -- shengpai.text = tostring(#player.cards) -- else -- shengpai.text = tostring(#player.hand_list) -- end local rt = 1 if room.hpOnOff == 1 then rt = room.score_times end local hp_nonnegative = room:checkHpNonnegative() local roundScore = player.winscore if hp_nonnegative then local jifen = "" if roundScore > 0 then jifen = "+" .. roundScore else jifen = "" .. roundScore end local tili = "" local limit = "" if player.hp_info.round_actual_hp > 0 then tili = "(+" .. d2ad(player.hp_info.round_actual_hp) .. ")" if player.hp_info.upper_limit then limit = "达到上限" end else tili = "(" .. d2ad(player.hp_info.round_actual_hp) .. ")" if player.hp_info.upper_limit then limit = "达到下限" end end item:GetChild("score").text = jifen .. tili .. limit else local jifen = "" if roundScore >= 0 then jifen = "+" .. roundScore else jifen = "" .. roundScore end jifen = jifen .. " " local tili = "" if room.hpOnOff > 0 then local need = roundScore * rt tili = "(" if roundScore > 0 then tili = tili .. "+" .. tostring(need) else tili = tili .. tostring(need) end tili = tili .. ")" end item:GetChild("score").text = jifen .. tili end if roundScore >= 0 then if room.self_player.seat == player.seat then -- body self._view:GetController("result").selectedIndex = 1 end else if room.self_player.seat == player.seat then self._view:GetController("result").selectedIndex = 0 end end local shangyou = item:GetChild("shangyou") if shangyou then shangyou.visible = player.seat == winseat end end if over == 0 then -- body local btn_confirm = self._view:GetChild("btn_confirm") btn_confirm.onClick:Set(function() self:Destroy() local _gamectr = ControllerManager.GetController(GameController) _gamectr:ConformToNextGame() end) else self.xiPaiCtr.selectedIndex=0 local btn_confirm = self._view:GetChild("btn_confirm") btn_confirm.onClick:Set(function() --self:Destroy() self:InitData(data, winseat, roomid) -- ViewManager.ChangeView(ViewManager.View_Lobby) end) end end -- 大结算 function M:InitData(data, winseat, roomid) self.xiPaiCtr.selectedIndex=0 self._view:GetController("sdk").selectedIndex = 0 local room = DataManager.CurrenRoom local rt = 1 if room.hpOnOff == 1 and room.score_times ~= 1 then rt = room.score_times end -- 赋值result_info,聊天室分享需要 local player_list = {} for i = 1, #data do player_list[i] = {} local user = room:GetPlayerBySeat(data[i].seat).self_user player_list[i].id = user.account_id player_list[i].score = data[i].score player_list[i].hp_info = data[i].hp_info player_list[i].house = room.owner_id == player_list[i].id and 1 or 0 player_list[i].nick = user.nick_name player_list[i].seat = data[i].seat player_list[i].head_url = data[i].self_user.head_url if data[i].entrust ~= nil then player_list[i].entrust = data[i].entrust > 0 else player_list[i].entrust = false end player_list[i].param = {} player_list[i].param[1] = {} player_list[i].param[1].key = "积分:" player_list[i].param[1].value = tostring(data[i].allJu510kFen) -- printlog("7777777777777777777777777777777") -- pt(data[i]) -- pt(data[i].settle_log) player_list[i].param[2] = {} player_list[i].param[2].key = "奖分:" player_list[i].param[2].value = tostring(data[i].jieSuanJiangLi) player_list[i].param[3] = {} player_list[i].param[3].key = "总积分:" player_list[i].param[3].value = tostring(data[i].cur510kFen) player_list[i].param[4] = {} player_list[i].param[4].key = "总喜分:" player_list[i].param[4].value = tostring(data[i].curXiFen) player_list[i].param[5] = {} player_list[i].param[5].key = "总分:" player_list[i].param[5].value = tostring(data[i].cur510kFen+data[i].curXiFen) player_list[i].param[6] = {} player_list[i].param[6].key = "牌分:" player_list[i].param[6].value = tostring(data[i].allLeftCardFen) -- printlog("aaaaaaaaaaaaaaawwwwwwwwwwwwwwwwwwwwwwwwww") --pt(data) -- player_list[i].param[1] = {} -- player_list[i].param[1].key = "赢局数:" -- player_list[i].param[1].value = tostring(data[i].settle_log.winnum) -- player_list[i].param[2] = {} -- player_list[i].param[2].key = "打出炸弹数:" -- player_list[i].param[2].value = tostring(data[i].settle_log.boomnum) -- player_list[i].param[3] = {} -- player_list[i].param[3].key = "春天次数:" -- player_list[i].param[3].value = tostring(data[i].settle_log.springnum) -- player_list[i].param[4] = {} -- player_list[i].param[4].key = "当局最高分:" -- player_list[i].param[4].value = tostring(data[i].settle_log.maxscore * rt) if data[i].daniao > 0 then player_list[i].flag = {"打鸟"} end end self:GenerateRoomResultInfo(room.room_config.Times, room.room_config:GetGameName(), room.room_id, room.create_time, player_list) self:InitBigResult(room) local big_result = self._view:GetChild("big_result") local lst_p = big_result:GetChild("player_list") -- local list_param = com_p:GetChild("list_param") for i = 1, lst_p.numChildren do local com_p = lst_p:GetChildAt(i - 1) local list_param = com_p:GetChild("list_param") for j = 1, list_param.numChildren do local tem = list_param:GetChildAt(j - 1) tem:GetChild("txt_value").textFormat.size = 30 end end end return M