| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129 | using System.Collections.Generic;using System.Linq;using Core.Language;using Excel2Json;using Fort23.Core;using Fort23.UTool;namespace Fort23.Mono{    [UIBinding(prefab = "TitlePanel")]    public partial class TitlePanel : UIPanel    {        List<EnergyWidget> widgets = new List<EnergyWidget>();        List<int> moRen = new List<int>() { 1001, 1002 };        private void Init()        {        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {        }        public async static CTask<TitlePanel> OpenPanel(List<int> items = null)        {            TitlePanel appBarPanel = null;            if (UIManager.Instance.GetComponent<TitlePanel>() == null)            {                appBarPanel = await UIManager.Instance.LoadAndOpenPanel<TitlePanel>(null, UILayer.Top, isFocus: false);            }            else            {                appBarPanel = UIManager.Instance.GetComponent<TitlePanel>();                await appBarPanel.Show();            }            await appBarPanel.CustomInit(items);            return appBarPanel;        }        public async CTask CustomInit(List<int> items)        {            if (items == null)            {                items = moRen;            }            foreach (var energyWidget in widgets)            {                UIManager.Instance.DormancyGComponent(energyWidget);            }            widgets.Clear();            HeroPowerUpConfig[] heroPowerUpConfigs = ConfigComponent.Instance.GetAll<HeroPowerUpConfig>().ToList()                .Where(hpc =>                    hpc.jingjie1 == PlayerManager.Instance.myHero.powerUpConfig.jingjie1 &&                    hpc.jingjie2 == PlayerManager.Instance.myHero.powerUpConfig.jingjie2).ToArray();            int allexp = 0;            foreach (var heroPowerUpConfig in heroPowerUpConfigs)            {                allexp += heroPowerUpConfig.levelUpExp;            }            int currentMiao = (int)((TimeHelper.ClientNow() - PlayerManager.Instance.myHero.heroData.upTime) / 1000);            float heroAllexp = currentMiao * PlayerManager.Instance.myHero.powerUpConfig.AutoXiuwei;            heroAllexp = PlayerManager.Instance.myHero.heroData.exp + heroAllexp;            int bl = (int)((heroAllexp / allexp) * 100);            Text_JingJie.text =                LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[0]) +                LanguageManager.Instance.Text(PlayerManager.Instance.myHero.powerUpConfig.jingjieLanIDs[1]) + " " +                bl + "%";            Slider_Exp.maxValue = PlayerManager.Instance.myHero.powerUpConfig.levelUpExp;            foreach (var item in items)            {                EnergyWidget energyWidget =                    await UIManager.Instance.CreateGComponent<EnergyWidget>(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<TitlePanel>()?.Hide();        }        public override void Hide()        {            foreach (var energyWidget in widgets)            {                UIManager.Instance.DormancyGComponent(energyWidget);            }            widgets.Clear();            base.Hide();        }    }}
 |