local PlayerCardInfoView = import(".main.ZPPlayerCardInfoView") ---- 对方上面的牌 local M = {} function M.new(view, mainView) setmetatable(M, { __index = PlayerCardInfoView }) local self = setmetatable({}, { __index = M }) self.class = "PlayerCardInfoView" self._view = view self._mainView = mainView self:init() return self end function M:UpdateFzList(fz_list, ispaly, seat, flag_pengPao) -- print("lingmeng UpdateFzList") -- pt(fz_list) self._area_fz_list:RemoveChildren(0, -1, true) for i = 1, #fz_list do local fzitem = nil if fz_list[i].type ~= RB_FZType.Kan then fzitem = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/ComponentNew") if (ispaly == false) then fzitem:RemoveChildren(0, -1, true) end end if fz_list[i].type == RB_FZType.Chi or fz_list[i].type == RB_FZType.Bi then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_3") fzcards:GetController("c2").selectedIndex = 1 fzcards:GetChild("card_" .. 1).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].active_card) fzcards:GetChild("card_" .. 2).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].opcard[1]) fzcards:GetChild("card_" .. 3).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].opcard[2]) fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) elseif fz_list[i].type == RB_FZType.Peng then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_3") for j = 1, 3 do fzcards:GetChild("card_" .. j).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].card) end fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) elseif fz_list[i].type == RB_FZType.Wei then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_3") -- for j=1,3 do -- fzcards:GetChild("card_"..j).icon ="ui://Main_RunBeard/202_1_300" -- end -- fzcards:GetChild("card_"..3).icon =self:getCardItem("ui://Main_RunBeard/202_",fz_list[i].card)--jefe for j = 1, 3 do fzcards:GetChild("card_" .. j).icon = "ui://Main_RunBeard/202_1_300" end fzcards:GetChild("card_" .. 1).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].card) --jefe fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) elseif fz_list[i].type == RB_FZType.ChouWei then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_3") -- for j=1,2 do -- fzcards:GetChild("card_"..j).icon ="ui://Main_RunBeard/202_1_300" -- end -- fzcards:GetChild("card_"..3).icon =self:getCardItem("ui://Main_RunBeard/202_",fz_list[i].card) for j = 2, 3 do fzcards:GetChild("card_" .. j).icon = "ui://Main_RunBeard/202_1_300" end fzcards:GetChild("card_" .. 1).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].card) fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) elseif fz_list[i].type == RB_FZType.Pao then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_4") for j = 1, 4 do fzcards:GetChild("card_" .. j).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i].card) end fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) elseif fz_list[i].type == RB_FZType.Ti then local fzcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Fz_0_4") if self._mainView._leftcard == 1 then for j = 1, 4 do fzcards:GetChild("card_" .. j).icon = "ui://Main_RunBeard/202_1_300" end else -- for j=1,4 do -- if j==4 then -- fzcards:GetChild("card_"..j).icon =self:getCardItem("ui://Main_RunBeard/202_",fz_list[i].card) -- else -- fzcards:GetChild("card_"..j).icon ="ui://Main_RunBeard/202_1_300" -- end -- end for j = 1, 4 do if j == 1 then fzcards:GetChild("card_" .. j).icon = self:getCardItem("ui://Main_RunBeard/202_", fz_list[i] .card) else fzcards:GetChild("card_" .. j).icon = "ui://Main_RunBeard/202_1_300" end end end fzcards.x, fzcards.y = 0, 0 self:playAnim(fzitem, fzcards, #fz_list, i, ispaly, seat, flag_pengPao) end end end function M:playAnim(fzitem, fzcards, size, i, ispaly, seat, flag_pengPao) if (ispaly == nil) then ispaly = false end local isaddLast = false if (ispaly and i == size and not flag_pengPao) then --匹配最后一个牌 local faArray = fzitem:GetChild("chiwei") if (faArray ~= nil) then faArray:AddChild(fzcards) else fzitem:AddChild(fzcards) end else fzitem:AddChild(fzcards) end if (seat ~= nil) then isaddLast = self:isAddFirst(seat) end -- if(isaddLast)then local index_postion = 0 self._area_fz_list:AddChildAt(fzitem, index_postion) -- else -- self._area_fz_list:AddChild(fzitem) -- end end function M:isAddFirst(seat) local isaddLast = false --[[if(DataManager.CurrenRoom.room_config.people_num ==3)then if(DataManager.CurrenRoom.self_player.seat == 1)then if(seat == 2)then isaddLast = true end elseif(DataManager.CurrenRoom.self_player.seat == 2)then if(seat == 3)then isaddLast = true end elseif(DataManager.CurrenRoom.self_player.seat == 3)then if(seat == 1)then isaddLast = true end end elseif DataManager.CurrenRoom.room_config.people_num ==2 then isaddLast = true end]] return isaddLast end --摸牌动画 -- function M:PlayingOutCardAnima(card) -- if (self._area_outcard_list ~= nil and self._area_outcard_list.numChildren > 0) then -- self._area_outcard_list:GetChildAt(0):GetChild('icon').icon = self:getCardItem('ui://Main_RunBeard/202_', card) -- self._view:GetTransition('t0'):Play() -- end -- coroutine.start( -- function() -- coroutine.wait(0.1) -- -- self._bgview.selectedIndex = 1 -- self:ClearOutCard() -- end -- ) -- end function M:UpdateOutCardList(outcard, isShow, isMopai, seat) if (isShow == nil) then isShow = false end if (isMopai == nil) then isMopai = false end self._area_outcard_list:RemoveChildren(0, -1, true) local outcards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Gcm_OutCard") if outcard == 0 then -- outcards:GetChild("icon").icon ="ui://Main_RunBeard/202_1_300" else outcards:GetChild("icon").icon = self:getCardItem("ui://Main_RunBeard/203_", outcard) -- self._bgview.selectedIndex=1 end outcards.x, outcards.y = 0, 0 local show_di_bg = outcards:GetChild("show_di_bg") -- show_di_bg.visible = true if (isShow) then if outcard == 0 then show_di_bg.visible = false end if (seat ~= nil and outcards ~= nil) then if (DataManager.CurrenRoom.room_config.people_num == 3) then if (seat == 2) then seat = 3 elseif (seat == 3) then seat = 2 end elseif DataManager.CurrenRoom.room_config.people_num == 2 then seat = 3 end if (isMopai) then if outcard ~= 0 then outcards:GetTransition("mopai" .. seat):Play(function() -- show_di_bg.visible = true end) end else show_di_bg.visible = false outcards:GetTransition("cpai" .. seat):Play() end else -- show_di_bg.visible = true end else show_di_bg.visible = false end self._area_outcard_list:AddChild(outcards) end --弃牌 function M:UpdateQiPai(qi_list, ispaly, seat) self._area_qipai_list:RemoveChildren(0, -1, true) for i = 1, #qi_list do local qicards = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Qipais") qicards:GetChild("icon").icon = self:getCardItem("ui://Main_RunBeard/202_", qi_list[i]) if (ispaly) then if (i == #qi_list) then if (DataManager.CurrenRoom.room_config.people_num == 2) then qicards:GetTransition("t0"):Play() else if (DataManager.CurrenRoom.self_player.seat == 1) then if (seat == 2) then qicards:GetTransition("t0"):Play() else qicards:GetTransition("t1"):Play() end elseif (DataManager.CurrenRoom.self_player.seat == 2) then if (seat == 3) then qicards:GetTransition("t0"):Play() else qicards:GetTransition("t1"):Play() end elseif (DataManager.CurrenRoom.self_player.seat == 3) then if (seat == 1) then qicards:GetTransition("t0"):Play() else qicards:GetTransition("t1"):Play() end else qicards:GetTransition("t0"):Play() end end end end self._area_qipai_list:AddChild(qicards) end end return M