changhong_newclient/lua_probject/extend_project/extend/zipai/fanpaofa/PlayerCardInfoView.lua

259 lines
10 KiB
Lua

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