132 lines
5.0 KiB
Lua
132 lines
5.0 KiB
Lua
local M = {}
|
|
|
|
function M.InitChiView(gamectr, view, cardInfo)
|
|
local self = setmetatable({}, {__index = M})
|
|
self._room = DataManager.CurrenRoom
|
|
self.class = "ChiView"
|
|
self._gamectr = gamectr
|
|
self._mainView = view
|
|
self._cardInfo = cardInfo
|
|
return self
|
|
end
|
|
|
|
function M:UpdateChiView(list, tip_hu, callback, cardInfo)
|
|
self:ShowView(list, tip_hu, callback, cardInfo)
|
|
end
|
|
|
|
function M:ShowView(tiplist, tip_hu, callback, cardInfo)
|
|
local _pop_tip_choice = UIPackage.CreateObject("Main_RunBeard", "Pop_tip_choice")
|
|
local list_choose = _pop_tip_choice:GetChild("Lst_choose")
|
|
_pop_tip_choice:GetChild("dibtn").onClick:Add(function()
|
|
_pop_tip_choice:Dispose()
|
|
end)
|
|
|
|
-- --list 去重复的
|
|
if #tiplist == 1 then
|
|
_pop_tip_choice:GetController("bipai").selectedIndex = 3
|
|
end
|
|
|
|
local tip_list = membe_deep_clone(tiplist)
|
|
for i = 1, #tiplist do
|
|
for k = 1, #tip_list do
|
|
if tip_list[k].weight ~= 4 and tiplist[i].id ~= tip_list[k].id then
|
|
if tiplist[i].OpCard[1] == tip_list[k].OpCard[1] and tiplist[i].OpCard[2] == tip_list[k].OpCard[2] then
|
|
tip_list[i].weight = 4
|
|
end
|
|
end
|
|
end
|
|
end
|
|
|
|
list_choose:RemoveChildrenToPool()
|
|
for i = 1, #tip_list do
|
|
if tip_list[i].weight ~=4 then
|
|
local item_choose = list_choose:AddItemFromPool()
|
|
self:SetIcon(item_choose, 2, tip_list[i].OpCard[1])
|
|
self:SetIcon(item_choose, 3, tip_list[i].OpCard[2])
|
|
self:SetIcon(item_choose, 1, tip_list[i].card)
|
|
|
|
item_choose.onClick:Add(function()
|
|
for k=1,list_choose.numChildren do
|
|
list_choose:GetChildAt(k-1):GetController("zhong") .selectedIndex = 0
|
|
end
|
|
item_choose:GetController("zhong").selectedIndex = 1
|
|
if tip_list[i].bi_list ==nil then
|
|
callback(tip_list[i].id)
|
|
self:CloseTip()
|
|
else
|
|
self.bilist={}
|
|
self._chiid = tip_list[i].id
|
|
self:CheckRatioCard(tip_list[i].bi_list,1,tip_list[i].card)
|
|
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
list_choose:ResizeToFit(#tip_list)
|
|
_pop_tip_choice:GetChild("di1").width = list_choose.width+110
|
|
_pop_tip_choice.xy = Vector2((self._mainView.width - _pop_tip_choice.width)/2, -100)
|
|
self._mainView:AddChild(_pop_tip_choice)
|
|
self._pop_tip_choice = _pop_tip_choice
|
|
end
|
|
--比牌显示
|
|
function M:CheckRatioCard(_tiplist,index,chicard,_biid)
|
|
if _biid ~=nil then
|
|
self.bilist={}
|
|
self.bilist[#self.bilist+1] = _biid
|
|
end
|
|
self._pop_tip_choice:GetController("bipai").selectedIndex = index
|
|
local Bilist_choose = self._pop_tip_choice:GetChild("Bi_Lst_choose"..index)
|
|
Bilist_choose:RemoveChildrenToPool()
|
|
for i = 1, #_tiplist do
|
|
local item = UIPackage.CreateObjectFromURL("ui://Main_RunBeard/Comp_choose")
|
|
local item_choose = Bilist_choose:AddChild(item)
|
|
self:SetIcon(item_choose, 2, _tiplist[i].opcard[1])
|
|
self:SetIcon(item_choose, 3, _tiplist[i].opcard[2])
|
|
self:SetIcon(item_choose, 1, chicard)
|
|
item_choose:GetController("zhong") .selectedIndex = 0
|
|
item_choose.onClick:Add(function()
|
|
for k=1,Bilist_choose.numChildren do
|
|
Bilist_choose:GetChildAt(k-1):GetController("zhong") .selectedIndex = 0
|
|
end
|
|
item_choose:GetController("zhong") .selectedIndex = 1
|
|
if _tiplist[i].bi_list ==nil then
|
|
if tip_hu then
|
|
local guo_msg = MsgWindow.new(self._root_view, "确定取消胡吗?", MsgWindow.MsgMode.OkAndCancel)
|
|
guo_msg.onOk:Add(function()
|
|
self.bilist[#self.bilist+1] = i-1
|
|
self._gamectr:SendAction(self._chiid,self.bilist)
|
|
guo_msg:Close()
|
|
self:CloseTip()
|
|
self._cardInfo:UpdateIsOnClick(false)
|
|
end)
|
|
guo_msg:Show()
|
|
else
|
|
self.bilist[#self.bilist+1] = i-1
|
|
self._gamectr:SendAction(self._chiid,self.bilist)
|
|
self:CloseTip()
|
|
self._cardInfo:UpdateIsOnClick(false)
|
|
end
|
|
else
|
|
self:CheckRatioCard(_tiplist[i].bi_list,2,chicard,i-1)
|
|
end
|
|
end)
|
|
end
|
|
Bilist_choose:ResizeToFit(#_tiplist)
|
|
self._pop_tip_choice:GetChild("di"..index+1).width = Bilist_choose.width+110
|
|
|
|
end
|
|
|
|
|
|
function M:SetIcon(item, index, card)
|
|
item:GetChild("card" .. index).icon = UIPackage.GetItemURL("Main_RunBeard", CommonFun:GetCardItem("201_", card))
|
|
end
|
|
|
|
function M:CloseTip()
|
|
if (self._pop_tip_choice) then
|
|
self._pop_tip_choice:Dispose()
|
|
self._pop_tip_choice = nil
|
|
end
|
|
end
|
|
|
|
return M
|