using System.Collections.Generic; using System.Linq; using Core.Language; using Excel2Json; using Fort23.UTool; using GameLogic.Hero; using Utility; namespace Fort23.Mono { [UIBinding(prefab = "GongFaUpgradePanel")] public partial class GongFaUpgradePanel : UIPanel { private SkillInfo _skillInfo; List _gongFaUpgradeInfoWidgets = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { Btn_Back.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(); }); } public async void CustomInit(SkillInfo skillInfo) { _skillInfo = skillInfo; SkillConfig skillConfig = _skillInfo.skillConfig; Icon_GongFaIcon.icon_name = skillConfig.icon; Text_Level1.text = skillConfig.level.ToString(); Text_Level.text = skillConfig.level.ToString(); Text_GongFaDesc.text = UtilTools.GetString(LanguageManager.Instance.Text(skillConfig.dec), _skillInfo.effectValue); Text_GongFaName.text = LanguageManager.Instance.Text(skillConfig.name); switch (skillConfig.attribute) { case 1: Icon_Attribute.GetComponent().ChangeState(0); Text_Attribute.text = "金"; break; case 2: Icon_Attribute.GetComponent().ChangeState(1); Text_Attribute.text = "木"; break; case 4: Icon_Attribute.GetComponent().ChangeState(2); Text_Attribute.text = "水"; break; case 8: Icon_Attribute.GetComponent().ChangeState(3); Text_Attribute.text = "火"; break; case 16: Icon_Attribute.GetComponent().ChangeState(4); Text_Attribute.text = "土"; break; } List allSkillConfigs = ConfigComponent.Instance.GetAll().ToList(); List configs = allSkillConfigs.Where(s => s.IDGroup == skillConfig.IDGroup).ToList(); for (var i = 0; i < configs.Count; i++) { SkillInfo skillInfo1 = new SkillInfo(configs[i].ID, _skillInfo.SkillPowerupConfig.ID); GongFaUpgradeInfoWidget gongFaUpgradeInfoWidget = await UIManager.Instance.CreateGComponent(null, Content); gongFaUpgradeInfoWidget.CustomInit(_skillInfo,skillInfo1); _gongFaUpgradeInfoWidgets.Add(gongFaUpgradeInfoWidget); } } public async static void Open(SkillInfo skillInfo) { GongFaUpgradePanel gongFaUpgradePanel = await UIManager.Instance.LoadAndOpenPanel(null); gongFaUpgradePanel.CustomInit(skillInfo); } public override void Close() { foreach (var gongFaUpgradeInfoWidget in _gongFaUpgradeInfoWidgets) { UIManager.Instance.DormancyGComponent(gongFaUpgradeInfoWidget); } _gongFaUpgradeInfoWidgets.Clear(); base.Close(); } } }