--一个面板对应一个表
BagPanel = {}
--"成员变量"
--面板对象
BagPanel.panelObj = nil
--各个控件
BagPanel.btnClose = nil
BagPanel.togEquip = nil
BagPanel.togItem = nil
BagPanel.togGem = nil
BagPanel.svBag = nil
BagPanel.Content = nil
--"成员方法"
--初始化方法
function BagPanel:Init()
if self.panelObj == nil then
--实例化面板对象
self.panelObj = ABMgr:LoadRes("ui", "BagPanel", typeof(GameObject))
self.panelObj.transform:SetParent(Canvas, false)
--找控件
--关闭按钮
self.btnClose = self.panelObj.transform:Find("btnClose"):GetComponent(typeof(Button))
--找3个toggle
local group = self.panelObj.transform:Find("Group")
self.togEquip = group:Find("togEquip"):GetComponent(typeof(Toggle))
self.togItem = group:Find("togItem"):GetComponent(typeof(Toggle))
self.togGem = group:Find("togGem"):GetComponent(typeof(Toggle))
--sv相关
self.svBag = self.panelObj.transform:Find("svBag"):GetComponent(typeof(ScrollRect))
self.Content = self.svBag.transform:Find("Viewport"):Find("Content")
--加事件
--关闭按钮
self.btnClose.onClick:AddListener(function()
self:HideMe()
end)
--单选框事件
--切页签
--toggle 对应委托 是 UnityAction<bool>
self.togEquip.onValueChanged:AddListener(function(value)
if value == true then
self:ChangeType(1)
end
end)
self.togItem.onValueChanged:AddListener(function(value)
if value == true then
self:ChangeType(2)
end
end)
self.togGem.onValueChanged:AddListener(function(value)
if value == true then
self:ChangeType(3)
end
end)
end
end
--显示隐藏
function BagPanel:ShowMe()
self:Init()
self.panelObj:SetActive(true)
end
function BagPanel:HideMe()
self.panelObj:SetActive(false)
end
--逻辑处理函数 用来切页签的
--type 1装备 2道具 3宝石
function BagPanel:ChangeType(type)
end