using System.Collections.Generic; using Fort23.Core; namespace Fort23.Mono { [UIBinding(prefab = "MainHeroPanel")] public partial class MainHeroPanel : UIPanel { List btnFaBaoWidgets = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override CTask GetFocus() { AppBarPanel.OpenPanel(this); return base.GetFocus(); } public override void AddButtonEvent() { Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); }); } public async void CustomInit() { for (int i = 0; i < 4; i++) { BtnFaBaoWidget btnFaBaoWidget = await UIManager.Instance.CreateGComponent(null, FaBaoRoot); btnFaBaoWidget.CustomInit(i); btnFaBaoWidget.onClick = OnClick; btnFaBaoWidgets.Add(btnFaBaoWidget); } } private async void OnClick(ItemWidgetBasic obj) { BtnFaBaoWidget btnFaBaoWidget = obj as BtnFaBaoWidget; SelectFaBaoPanel selectFaBaoPanel = await SelectFaBaoPanel.OpenPanel(btnFaBaoWidget.index); await selectFaBaoPanel.UIClosed(); foreach (var b in btnFaBaoWidgets) { b.CustomInit(b.index); } } public async static CTask OpenPanel() { MainHeroPanel mainHeroPanel = await UIManager.Instance.LoadAndOpenPanel(null); mainHeroPanel.CustomInit(); return mainHeroPanel; } public override void Close() { foreach (var btnFaBaoWidget in btnFaBaoWidgets) { UIManager.Instance.DormancyGComponent(btnFaBaoWidget); } btnFaBaoWidgets.Clear(); base.Close(); } } }