筛选排序提交
parent
9e19cd5322
commit
218110d709
|
@ -20,8 +20,15 @@ local tabs = {
|
|||
rpType = RedPointType.TianShuPokemon_Fetter,funcType = FUNCTION_OPEN_TYPE.POKEMON,bg = "t_tianshumijuan_lingshouditu",zi = "t_tianshumijuan_lingshoupian_zi_zh",
|
||||
},
|
||||
}
|
||||
local status = {
|
||||
[0] = "全部",
|
||||
[1] = "已激活",
|
||||
[2] = "未激活",
|
||||
}
|
||||
local curPage = 1
|
||||
local data = 1
|
||||
local data = {}
|
||||
local curShai = 0 --0 全部 1 已激活 2 未激活
|
||||
local curData = {}
|
||||
--初始化组件(用于子类重写)
|
||||
function TianShuMiJuanMainPanel:InitComponent()
|
||||
self.itemPreList = {}
|
||||
|
@ -73,6 +80,8 @@ function TianShuMiJuanMainPanel.SetChangeTabCallBack(index)
|
|||
return
|
||||
end
|
||||
curPage = index
|
||||
curShai = 0
|
||||
self.shaiText.text = status[curShai]
|
||||
this:OnShow(self)
|
||||
end
|
||||
|
||||
|
@ -82,7 +91,11 @@ function TianShuMiJuanMainPanel:BindEvent()
|
|||
self:ClosePanel()
|
||||
end)
|
||||
Util.AddClick(self.shai, function()
|
||||
|
||||
curShai = curShai + 1
|
||||
curShai = curShai%3
|
||||
self.shaiText.text = status[curShai]
|
||||
curData = self:ShaiData()
|
||||
self:RefreshData(curData)
|
||||
end)
|
||||
self.tabBox = TabBox.New()
|
||||
self.tabBox:SetTabAdapter(self.SetTabAdapter)
|
||||
|
@ -104,6 +117,8 @@ end
|
|||
function TianShuMiJuanMainPanel:OnOpen(...)
|
||||
local args = {...}
|
||||
curPage = args[1] or 1
|
||||
curShai = 0
|
||||
self.shaiText.text = status[curShai]
|
||||
self.tabBox:Init(self.tabbox.gameObject, tabs, curPage)
|
||||
end
|
||||
|
||||
|
@ -111,21 +126,67 @@ end
|
|||
function TianShuMiJuanMainPanel:OnShow()
|
||||
self.bg.sprite = Util.LoadSprite(tabs[curPage].bg)
|
||||
self.title.sprite = Util.LoadSprite(tabs[curPage].zi)
|
||||
data = TianShuMiJuanManger.GetFetterDataByFetterType(curPage)
|
||||
curData = self:ShaiData()
|
||||
self:RefreshData()
|
||||
end
|
||||
|
||||
function TianShuMiJuanMainPanel:RefreshData()
|
||||
self:SortData()
|
||||
self.scroll:ForeachItemGO(function(index,go)
|
||||
go.gameObject:SetActive(false)
|
||||
end)
|
||||
data = TianShuMiJuanManger.GetFetterDataByFetterType(curPage)
|
||||
if not data or #data < 1 then
|
||||
if not curData or #curData < 1 then
|
||||
self.empty.gameObject:SetActive(true)
|
||||
else
|
||||
self.empty.gameObject:SetActive(false)
|
||||
self.scroll:SetData(data,function(index,go)
|
||||
self:SetSingleData(go,data[index],index)
|
||||
self.scroll:SetData(curData,function(index,go)
|
||||
self:SetSingleData(go,curData[index],index)
|
||||
end)
|
||||
self.scroll:SetIndex(1)
|
||||
end
|
||||
end
|
||||
|
||||
function TianShuMiJuanMainPanel:ShaiData()
|
||||
if not data or #data < 1 then
|
||||
return
|
||||
end
|
||||
local shaiValue = 0
|
||||
if curShai == 0 then
|
||||
return data
|
||||
elseif curShai == 1 then
|
||||
shaiValue = 1
|
||||
else
|
||||
shaiValue = 0
|
||||
end
|
||||
local returnData = {}
|
||||
for k,v in ipairs(data) do
|
||||
if shaiValue ~= 0 and v.enabled == shaiValue then
|
||||
table.insert(returnData,v)
|
||||
elseif shaiValue == 0 and v.enabled < 1 then
|
||||
table.insert(returnData,v)
|
||||
end
|
||||
end
|
||||
return returnData
|
||||
end
|
||||
|
||||
local sortData = {
|
||||
[0] = 0,
|
||||
[-1] = 1,
|
||||
[1] = 2,
|
||||
}
|
||||
function TianShuMiJuanMainPanel:SortData()
|
||||
if not curData or #curData < 1 then
|
||||
return
|
||||
end
|
||||
table.sort(curData,function(a,b)
|
||||
if sortData[a.enabled] == sortData[b.enabled] then
|
||||
return a.id < b.id
|
||||
end
|
||||
return sortData[a.enabled] < sortData[b.enabled]
|
||||
end)
|
||||
end
|
||||
|
||||
function TianShuMiJuanMainPanel:SetSingleData(go,item,index)
|
||||
if not self.itemPreList[go] then
|
||||
self.itemPreList[go] = SubUIManager.Open(SubUIConfig.FetterItem,go.transform)
|
||||
|
@ -135,7 +196,7 @@ function TianShuMiJuanMainPanel:SetSingleData(go,item,index)
|
|||
return
|
||||
end
|
||||
go.gameObject:SetActive(true)
|
||||
self.itemPreList[go]:SetData(item)
|
||||
self.itemPreList[go]:SetData(item,self:SortData)
|
||||
end
|
||||
|
||||
--界面关闭时调用(用于子类重写)
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
FetterItem = {}
|
||||
local itemConfig = ConfigManager.GetConfig(ConfigName.ItemConfig)
|
||||
local func
|
||||
function FetterItem:New(gameObject)
|
||||
local b = {}
|
||||
b.gameObject = gameObject
|
||||
|
@ -33,7 +34,10 @@ function FetterItem:BindEvent()
|
|||
TianShuMiJuanManger.UpdateFetterId({self.itemData.id})
|
||||
local newWarPower = FormationManager.GetFormationPower(FormationTypeDef.FORMATION_NORMAL)
|
||||
UIManager.OpenPanel(UIName.WarPowerChangeNotifyPanelV2,{oldValue = oldWarPower,newValue = newWarPower})
|
||||
self:SetIcon(1)
|
||||
--self:SetIcon(1)
|
||||
if func then
|
||||
func()
|
||||
end
|
||||
end)
|
||||
end)
|
||||
end
|
||||
|
@ -48,7 +52,8 @@ function FetterItem:RemoveListener()
|
|||
end
|
||||
function FetterItem:OnOpen()
|
||||
end
|
||||
function FetterItem:SetData(data)
|
||||
function FetterItem:SetData(data,_func)
|
||||
func = _func
|
||||
self.itemData = data
|
||||
self.name.text = self.itemData.name
|
||||
if self.itemData.enabled < 1 then
|
||||
|
|
Loading…
Reference in New Issue