sk-client/Assets/ManagedResources/~Lua/Modules/AircraftCarrier/LogisticsMainPanel.lua

160 lines
4.9 KiB
Lua

require("Base/BasePanel")
LogisticsMainPanel = Inherit(BasePanel)
local this = LogisticsMainPanel
local globalSystemConfig =ConfigManager.GetConfig(ConfigName.GlobalSystemConfig)
local content = {
--> 守护
[1] = {
isOpen = true,
id = FUNCTION_OPEN_TYPE.SUPPORT,
sort = 1,
clickFun = function()
JumpManager.GoJump(7901)
end,
redPointId = RedPointType.Support
},
--> 契约
[2] = {
isOpen = true,
id = FUNCTION_OPEN_TYPE.GENERAL,
sort = 2,
clickFun = function()
-- JumpManager.GoJump(7701)
if ActTimeCtrlManager.SingleFuncState(FUNCTION_OPEN_TYPE.GENERAL) then
NetManager.GetGeneralData(function ()
UIManager.OpenPanel(UIName.GeneralInfoPanel)
end)
else
PopupTipPanel.ShowTip(ActTimeCtrlManager.GetFuncTip(FUNCTION_OPEN_TYPE.GENERAL))
end
end,
redPointId = RedPointType.General
},
--> 先驱
[3] = {
isOpen = true,
id = FUNCTION_OPEN_TYPE.ADJUTANT,
sort = 3,
clickFun = function()
JumpManager.GoJump(7601)
end,
redPointId = RedPointType.Adjutant
},
--> 神眷者
[4] = {
isOpen = true,
id = FUNCTION_OPEN_TYPE.AIRCRAFT_CARRIER,
sort = 4,
clickFun = function()
-- PopupTipPanel.ShowTipByLanguageId(10404)
JumpManager.GoJump(80010)
end,
redPointId = RedPointType.Lead
}
}
--初始化组件(用于子类重写)
function LogisticsMainPanel:InitComponent()
this.HeadFrameView =SubUIManager.Open(SubUIConfig.PlayerHeadFrameView, self.gameObject.transform)
this.BtView = SubUIManager.Open(SubUIConfig.BtView, self.transform)
this.UpView = SubUIManager.Open(SubUIConfig.UpView, self.transform)
this.Back = Util.GetGameObject(self.gameObject, "Back")
this.pages = {}
for i = 1, #content do
this.pages[i] = Util.GetGameObject(self.gameObject, "middle/page" .. i)
end
end
--绑定事件(用于子类重写)
function LogisticsMainPanel:BindEvent()
Util.AddClick(this.Back, function()
self:ClosePanel()
end)
for i = 1, #content do
if content[i].isOpen then
local bg = Util.GetGameObject(this.pages[i], "bg")
bg:GetComponent("Image").alphaHitTestMinimumThreshold = 0.1
Util.AddClick(bg, function()
if content[i].clickFun then
content[i].clickFun()
end
end)
BindRedPointObject(content[i].redPointId, Util.GetGameObject(this.pages[i], "redPoint"))
end
end
end
--添加事件监听(用于子类重写)
function LogisticsMainPanel:AddListener()
end
--移除事件监听(用于子类重写)
function LogisticsMainPanel:RemoveListener()
end
--界面打开时调用(用于子类重写)
function LogisticsMainPanel:OnOpen()
end
--界面打开或者重新打开后,界面刷新时调用(用于子类重写)
function LogisticsMainPanel:OnShow()
CheckRedPointStatus(RedPointType.General)
this.HeadFrameView:OnShow()
this.UpView:OnOpen({ showType = UpViewOpenType.ShowRight, panelType = PanelType.Logistics })
this.BtView:OnOpen({ sortOrder = self.sortingOrder, panelType = PanelTypeView.Logistics })
for i = 1, #content do
-- this.pages[i]:SetActive(content[i].isOpen)
local bg = Util.GetGameObject(this.pages[i], "bg")
local lock = Util.GetGameObject(this.pages[i], "lock")
local Text = Util.GetGameObject(this.pages[i], "Text"):GetComponent("Text")
Text.text = "LV."..globalSystemConfig[content[i].id].OpenRules[2]
if content[i].isOpen then
bg:SetActive(true)
lock:SetActive(false)
Text.gameObject:SetActive(false)
else
bg:SetActive(false)
lock:SetActive(true)
Text.gameObject:SetActive(true)
end
this.pages[i].transform:SetSiblingIndex(content[i].sort - 1)
if content[i].isOpen then
if ActTimeCtrlManager.SingleFuncState(content[i].id) then
Util.SetGray(this.pages[i], false)
else
Util.SetGray(this.pages[i], true)
end
else
Util.GetGameObject(this.pages[i], "redPoint"):SetActive(false)
end
end
end
function LogisticsMainPanel.UpdateRedPoint()
end
--界面关闭时调用(用于子类重写)
function LogisticsMainPanel:OnClose()
end
--界面销毁时调用(用于子类重写)
function LogisticsMainPanel:OnDestroy()
SubUIManager.Close(this.HeadFrameView)
SubUIManager.Close(this.UpView)
SubUIManager.Close(this.BtView)
for i = 1, #content do
if content[i].isOpen then
ClearRedPointObject(content[i].redPointId)
end
end
end
return LogisticsMainPanel