using System.Collections.Generic; using System.Linq; using Excel2Json; using Fort23.Core; using Fort23.UTool; namespace Fort23.Mono { [UIBinding(prefab = "SelectElixirPanel")] public partial class SelectElixirPanel : UIPanel { List elixirItems = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { } public async void CustomInit() { Text_FailDesc.text = $"+{0}%"; Text_SucceedDesc.text = $"-{0}%"; List itemConfigs = ConfigComponent.Instance.GetAll().ToList(); var showItemConfigs = itemConfigs.Where(i => i.itemTag == 3 && PlayerManager.Instance.myHero.heroData.heroPowerId >= i.itemParam[0] && PlayerManager.Instance.myHero.heroData.heroPowerId <= i.itemParam[1]).ToList(); foreach (var showItemConfig in showItemConfigs) { ElixirItemWidget elixirItemWidget = await UIManager.Instance.CreateGComponent(null, Content); elixirItemWidget.CustomInit(showItemConfig.ID); elixirItemWidget.onClick = OnClick; elixirItems.Add(elixirItemWidget); } } private void OnClick(ItemWidgetBasic obj) { ElixirItemWidget elixirItemWidget = obj as ElixirItemWidget; Text_FailDesc.text = $"+{elixirItemWidget._itemConfig.itemParam[2]}%"; Text_SucceedDesc.text = $"-{elixirItemWidget._itemConfig.itemParam[3]}%"; } public override void Close() { elixirItems.ForEach(e => UIManager.Instance.DormancyGComponent(e)); elixirItems.Clear(); base.Close(); } public async static CTask OpenPanel() { SelectElixirPanel selectElixirPanel = await UIManager.Instance.LoadAndOpenPanel(null); selectElixirPanel.CustomInit(); return selectElixirPanel; } } }