miduo_client/Assets/ManagedResources/~Lua/Modules/GeneralPanel/GeneralInfoPopup.lua

81 lines
2.3 KiB
Lua
Raw Normal View History

----- 信息通用弹窗 -----
require("Base/BasePanel")
GeneralInfoPopup = Inherit(BasePanel)
local this = GeneralInfoPopup
local sorting = 0
--子模块脚本
local contentScripts = {
--神印信息
[GENERALINFO_TYPE.Imprint] = {view = require("Modules/GeneralPanel/View2/GeneralInfoPopup_Imprint"), panelName = "GeneralInfoPopup_Imprint"},
2021-05-19 16:14:09 +08:00
--修行界面小点的信息
[GENERALINFO_TYPE.PracticeLevel] = {view = require("Modules/GeneralPanel/View2/GeneralInfoPopup_PracticeLevel"), panelName = "GeneralInfoPopup_PracticeLevel"},
}
--子模块预设
local contentPrefabs={}
--初始化组件(用于子类重写)
function GeneralInfoPopup:InitComponent()
this.contents = Util.GetGameObject(this.gameObject,"Content")
this.backBtn = Util.GetGameObject(this.gameObject,"backBtn")
--子模块脚本初始化
for key, value in pairs(contentScripts) do
value.view:InitComponent(Util.GetGameObject(this.contents, value.panelName))
end
--预设赋值
for key, value in pairs(contentScripts) do
contentPrefabs[key]=Util.GetGameObject(this.contents,value.panelName)
end
end
--绑定事件(用于子类重写)
function GeneralInfoPopup:BindEvent()
for key, value in pairs(contentScripts) do
value.view:BindEvent()
end
--返回按钮
Util.AddClick(this.backBtn,function()
self:ClosePanel()
end)
end
function GeneralInfoPopup:AddListener()
for key, value in pairs(contentScripts) do
value.view:AddListener()
end
end
function GeneralInfoPopup:RemoveListener()
for key, value in pairs(contentScripts) do
value.view:RemoveListener()
end
end
function GeneralInfoPopup:OnSortingOrderChange()
this.sortingOrder = self.sortingOrder
end
function GeneralInfoPopup:OnOpen(popupKey,...)
for key, value in pairs(contentPrefabs) do
value.gameObject:SetActive(false)
end
contentPrefabs[popupKey].gameObject:SetActive(true)
contentScripts[popupKey].view:OnShow(this,...)--1、传入自己 2、传入不定参
end
function GeneralInfoPopup:OnShow()
end
function GeneralInfoPopup:OnClose()
for key, value in pairs(contentScripts) do
value.view:OnClose()
end
end
function GeneralInfoPopup:OnDestroy()
for key, value in pairs(contentScripts) do
value.view:OnDestroy()
end
end
return GeneralInfoPopup