125 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
			
		
		
	
	
			125 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			Lua
		
	
require("Base/BasePanel")
 | 
						|
FightMatchPanel = Inherit(BasePanel)
 | 
						|
local this = FightMatchPanel
 | 
						|
local matchView = require("Modules/FormFightMatch/MatchFight")
 | 
						|
local rankView = require("Modules/FormFightMatch/RankInfoView")
 | 
						|
local rewardView = require("Modules/FormFightMatch/RewardView")
 | 
						|
-- 选择的标签
 | 
						|
this.tabList = {}
 | 
						|
this.panelList = {}
 | 
						|
this.choseTab = {}
 | 
						|
local panelType = {
 | 
						|
    Match = 1,
 | 
						|
    Rank = 2,
 | 
						|
    Reward = 3,
 | 
						|
}
 | 
						|
-- 已经选中的标签
 | 
						|
this.selectTab = 1
 | 
						|
 | 
						|
--初始化组件(用于子类重写)
 | 
						|
function FightMatchPanel:InitComponent()
 | 
						|
    this.spLoader = SpriteLoader.New()
 | 
						|
    this.btnBack = Util.GetGameObject(self.gameObject, "Bg/btnBack")
 | 
						|
    this.tabList = {
 | 
						|
        [1] = Util.GetGameObject(self.gameObject, "Bg/tabRoot/tabMatch"),
 | 
						|
        [2] = Util.GetGameObject(self.gameObject, "Bg/tabRoot/tabRank"),
 | 
						|
        [3] = Util.GetGameObject(self.gameObject, "Bg/tabRoot/tabReward"),
 | 
						|
    }
 | 
						|
 | 
						|
    -- 构造方法实例对象
 | 
						|
    this.panelList = {
 | 
						|
        [1] = matchView.new(self, Util.GetGameObject(self.gameObject, "Bg/MatchView")),
 | 
						|
        [2] = rankView.new(self, Util.GetGameObject(self.gameObject, "Bg/RankView")),
 | 
						|
        [3] = rewardView.new(self, Util.GetGameObject(self.gameObject, "Bg/RewardView")),
 | 
						|
    }
 | 
						|
 | 
						|
    this.choseTab = {
 | 
						|
        [1] = Util.GetGameObject(this.tabList[1], "choose"),
 | 
						|
        [2] = Util.GetGameObject(this.tabList[2], "choose"),
 | 
						|
        [3] = Util.GetGameObject(this.tabList[3], "choose"),
 | 
						|
    }
 | 
						|
end
 | 
						|
 | 
						|
--绑定事件(用于子类重写)
 | 
						|
function FightMatchPanel:BindEvent()
 | 
						|
    Util.AddClick(this.btnBack, function ()
 | 
						|
        self:ClosePanel()
 | 
						|
    end)
 | 
						|
 | 
						|
    for i = 1, 3 do
 | 
						|
        Util.AddClick(this.tabList[i], function ()
 | 
						|
            this.SetChooseTab(i)
 | 
						|
        end)
 | 
						|
    end
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--添加事件监听(用于子类重写)
 | 
						|
function FightMatchPanel:AddListener()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--移除事件监听(用于子类重写)
 | 
						|
function FightMatchPanel:RemoveListener()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
 | 
						|
--界面打开时调用(用于子类重写)
 | 
						|
function FightMatchPanel:OnOpen()
 | 
						|
end
 | 
						|
 | 
						|
function FightMatchPanel:OnShow()
 | 
						|
 | 
						|
    this.SetTabShowState(1)
 | 
						|
    this.panelList[1]:ReShowPanel()
 | 
						|
    this.panelList[1]:OnShow()
 | 
						|
end
 | 
						|
 | 
						|
-- 设置标签
 | 
						|
function this.SetChooseTab(curTab)
 | 
						|
    if this.selectTab ~= curTab then
 | 
						|
        -- 设置标签显示
 | 
						|
        this.SetTabShowState(curTab)
 | 
						|
        -- 设置数据显示
 | 
						|
        this.SetPanelData(curTab)
 | 
						|
        this.selectTab = curTab
 | 
						|
    end
 | 
						|
end
 | 
						|
 | 
						|
function this.SetTabShowState(curTab)
 | 
						|
    this.choseTab[1]:SetActive(curTab == panelType.Match)
 | 
						|
    this.choseTab[2]:SetActive(curTab == panelType.Rank)
 | 
						|
    this.choseTab[3]:SetActive(curTab == panelType.Reward)
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
function this.SetPanelData(curTab)
 | 
						|
    this.panelList[curTab]:OnShow()
 | 
						|
    this.panelList[this.selectTab]:OnHidePanel()
 | 
						|
 | 
						|
end
 | 
						|
 | 
						|
--界面关闭时调用(用于子类重写)
 | 
						|
function FightMatchPanel:OnClose()
 | 
						|
 | 
						|
    this.panelList[this.selectTab]:OnHidePanel()
 | 
						|
    this.selectTab = 1
 | 
						|
end
 | 
						|
 | 
						|
--界面销毁时调用(用于子类重写)
 | 
						|
function FightMatchPanel:OnDestroy()
 | 
						|
 | 
						|
    for _, panel in pairs(this.panelList) do
 | 
						|
        if panel.OnDestroy then
 | 
						|
            panel:OnDestroy()
 | 
						|
    this.spLoader:Destroy()
 | 
						|
        end
 | 
						|
    end
 | 
						|
 | 
						|
    this.tabList = {}
 | 
						|
    this.panelList = {}
 | 
						|
    this.choseTab = {}
 | 
						|
end
 | 
						|
 | 
						|
return FightMatchPanel |