| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 | using System.Collections.Generic;using Excel2Json;using Fort23.Core;using Fort23.UTool;namespace Fort23.Mono{    [UIBinding(prefab = "ComBatFrontPanel")]    public partial class ComBatFrontPanel : UIPanel    {        private CTask<bool> result;        private bool isOk;        private LevelbattleConfig levelbattleConfig;        private GroupConfig groupConfig;        List<ComBatFrontWidget> BossInfoHeadWidgets = new List<ComBatFrontWidget>();        public int levebattleId;        public AccountFileInfo.EventList eventList;        private void Init()        {        }        protected override void AddEvent()        {        }        protected override void DelEvent()        {        }        public override void AddButtonEvent()        {            Btn_Close.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });            Btn_Ok.onClick.AddListener(() =>            {                isOk = true;                UIManager.Instance.HideUIUIPanel(this);            });            Btn_Cancel.onClick.AddListener(() => { UIManager.Instance.HideUIUIPanel(this); });        }        public async override CTask<bool> AsyncInit(object[] uiData)        {            await CustomInit((int)uiData[0], uiData[1] as AccountFileInfo.EventList, uiData[2] as CTask<bool>);            return await base.AsyncInit(uiData);        }        public async CTask CustomInit(int levebattleId, AccountFileInfo.EventList eventList, CTask<bool> result)        {            this.result = result;            this.levebattleId = levebattleId;            this.eventList = eventList;            levelbattleConfig = ConfigComponent.Instance.Get<LevelbattleConfig>(levebattleId);            groupConfig = ConfigComponent.Instance.Get<GroupConfig>(levelbattleConfig.Group[0]);            for (var i = 0; i < 1; i++)            {                HeroModelConfig heroModelConfig =                    ConfigComponent.Instance.Get<HeroModelConfig>(groupConfig.GroupMonster[i]);                CombatHeroInfo combatHeroInfo = new CombatHeroInfo();                //玩家等级                if (groupConfig.GroupMonsterLevel == null || groupConfig.GroupMonsterLevel[i] == -1)                {                    MonsterPowerUpConfig heroPowerUpConfig =                        ConfigComponent.Instance.Get<MonsterPowerUpConfig>(eventList.heroLevel);                    combatHeroInfo.InitMonster(heroModelConfig.ID, heroPowerUpConfig.ID);                }                else                {                    MonsterPowerUpConfig heroPowerUpConfig =                        ConfigComponent.Instance.Get<MonsterPowerUpConfig>(groupConfig.GroupMonsterLevel[i]);                    combatHeroInfo.InitMonster(heroModelConfig.ID, heroPowerUpConfig.ID);                }                if (PlayerManager.Instance.myHero.hp > combatHeroInfo.hp)                {                    csc.ChangeState(0);                }                else if (PlayerManager.Instance.myHero.hp == combatHeroInfo.hp)                {                    csc.ChangeState(1);                }                else                {                    csc.ChangeState(2);                }                ComBatFrontWidget bossInfoHeadWidget =                    await UIManager.Instance.CreateGComponentForObject<ComBatFrontWidget>(ComBatFrontWidgetMonster,                        null);                bossInfoHeadWidget.CustomInit(combatHeroInfo);                BossInfoHeadWidgets.Add(bossInfoHeadWidget);            }            ComBatFrontWidget bossInfoHeadWidget1 =                await UIManager.Instance.CreateGComponentForObject<ComBatFrontWidget>(ComBatFrontWidgetHero, null);            bossInfoHeadWidget1.CustomInit1();            BossInfoHeadWidgets.Add(bossInfoHeadWidget1);        }        public async override CTask Close()        {            foreach (var bossInfoHeadWidget in BossInfoHeadWidgets)            {                UIManager.Instance.DormancyGComponent(bossInfoHeadWidget);            }            BossInfoHeadWidgets.Clear();            result?.SetResult(isOk);            await base.Close();        }        public async static CTask<bool> OpenPanel(int levebattleId, AccountFileInfo.EventList CurrentEventList)        {            CTask<bool> result = CTask<bool>.Create();            ComBatFrontPanel bossInfoPanel = await UIManager.Instance.LoadAndOpenPanel<ComBatFrontPanel>(null,                UILayer.Top,                uiData: new object[] { levebattleId, CurrentEventList, result }, isShowBG: true);            return await result;        }    }}
 |