using System.Collections.Generic; using Core.Language; using Fort23.Core; namespace Fort23.Mono { [UIBinding(prefab = "TitlePanel")] public partial class TitlePanel : UIPanel { List widgets = new List(); private void Init() { } protected override void AddEvent() { } protected override void DelEvent() { } public override void AddButtonEvent() { } public async static CTask OpenPanel(List items) { TitlePanel appBarPanel = null; if (UIManager.Instance.GetComponent() == null) { appBarPanel = await UIManager.Instance.LoadAndOpenPanel(null, UILayer.Top, isFocus: false); } else { appBarPanel = UIManager.Instance.GetComponent(); await appBarPanel.Show(); } await appBarPanel.CustomInit(items); return appBarPanel; } public async CTask CustomInit(List items) { foreach (var energyWidget in widgets) { UIManager.Instance.DormancyGComponent(energyWidget); } widgets.Clear(); Text_JingJie.text = LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) + LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) + LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[2]); Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp; foreach (var item in items) { EnergyWidget energyWidget = await UIManager.Instance.CreateGComponent(null, Group_ResourceBar); energyWidget.CustomInit(item); widgets.Add(energyWidget); } } [CustomMethod(CustomMethodType.Update)] public void Update() { int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000); float allexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei; Slider_Exp.value = PlayerManager.Instance.myHero.heroData.exp + allexp; } public async static CTask ClosePanel() { UIManager.Instance.GetComponent()?.Hide(); } public override void Hide() { foreach (var energyWidget in widgets) { UIManager.Instance.DormancyGComponent(energyWidget); } widgets.Clear(); base.Hide(); } } }