| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 | using System;using System.Collections.Generic;using Common.Utility.CombatEvent;using Excel2Json;using Fort23.Core;using GameLogic.Bag;using GameLogic.Combat;using GameLogic.Combat.CombatTool;using GameLogic.Combat.CombatType;using GameLogic.Combat.Hero;using GameLogic.Combat.Skill;using OfficeOpenXml.FormulaParsing.Utilities;using UnityEngine;namespace Fort23.Mono{    [UIBinding(prefab = "CombatPanel")]    public partial class CombatPanel : UIPanel    {        private ZhuanPanPanel zhuanPanLogic;        private HeroHpWidget playerHeroHpWidget;        public static async CTask OpenCombatPanel()        {            CombatPanel combatPanel = await UIManager.Instance.LoadAndOpenPanel<CombatPanel>(null, UILayer.Middle);            await combatPanel.ShowPanel();        }        protected override async CTask ProOpen()        {            zhuanPanLogic =                await UIManager.Instance.CreateGComponentForObject<ZhuanPanPanel>(ZhuanPanPanel, null, null);            await zhuanPanLogic.ShowPanel();        }        public override CTask GetFocus()        {            if (CombatDrive.Instance.CombatController.CombatTypeBasic is LevelBattleCombatType)            {                LevelBattleCombatType levelBattleCombatType =                    CombatDrive.Instance.CombatController.CombatTypeBasic as LevelBattleCombatType;                if (levelBattleCombatType.levelbattleConfig.ID == 10001)                {                    // if (PlayerGuideManager.Instance.GuideIsCanDo(5))                    // {                    //     PlayerGuideManager.Instance.SetGuid(5);                    // }                }            }            return base.GetFocus();        }        private void Init()        {            isAddStack = true;            IsShowAppBar = false;        }        public override void Hide()        {            base.Hide();            UIManager.Instance.DormancyGComponent(zhuanPanLogic);            zhuanPanLogic = null;            UIManager.Instance.DormancyAllGComponent<BossHpWidget>();            UIManager.Instance.DormancyGComponent(playerHeroHpWidget);            playerHeroHpWidget = null;            UIManager.Instance.DormancyAllGComponent<MagicWeaponWidget>();        }        protected override void AddEvent()        {            // CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity,            //     AddMagicWeaponHeroEntity);            // CombatEventManager.Instance.AddEventListener(CombatEventType.AddUseGongFa, AddUseGongFa);            CombatEventManager.Instance.AddEventListener(CombatEventType.ShowUseMagicWeaponName, UseMagicWeapon);            StaticUpdater.Instance.AddLateUpdateCallBack(Update);            // CameraSelect.value = 0.7f;        }        protected override void DelEvent()        {            // CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity,            //     AddMagicWeaponHeroEntity);            CombatEventManager.Instance.RemoveEventListener(CombatEventType.ShowUseMagicWeaponName, UseMagicWeapon);            StaticUpdater.Instance.RemoveLateUpdateCallBack(Update);        }        private async void UseMagicWeapon(IEventData ieveData)        {            UseMagicWeaponEventData eventData = ieveData as UseMagicWeaponEventData;            CombatMagicWeaponEntity combatMagicWeaponEntity = eventData.combatMagicWeaponEntity;            CombatHeroEntity combatHeroEntity = eventData.combatHeroEntity;            FaBaoSkillNameWidget faBaoSkillNameWidget =                await UIManager.Instance.CreateGComponentForObject<FaBaoSkillNameWidget>(FaBaoSkillNameWidget, null,                    FaBaoSkillDec, isInstance: true);            Vector3 pos = Vector3.zero;            if (combatMagicWeaponEntity.IsEnemy)            {                pos = combatMagicWeaponEntity.GameObject.transform.TransformPoint(new Vector3(-1, 2, 0));            }            else            {                pos = combatMagicWeaponEntity.GameObject.transform.TransformPoint(new Vector3(-0.5f, 0.5f, 0));            }            // combatHeroEntity.dotPos+            faBaoSkillNameWidget.ShowWidget(combatMagicWeaponEntity.FaBaoInfo.FabaoConfig.name, pos);            // useQuqueSkill.transform.SetAsLastSibling();        }        // private async void AddUseGongFa(IEventData ieveData)        // {        //     AddUseGongFaEventData eventData = ieveData as AddUseGongFaEventData;        //     SkillBasic skillBasic = eventData.SkillBasic;        //     if (skillBasic.CombatHeroEntity.IsEnemy)        //     {        //         return;        //     }        //        //     UseQuqueSkill useQuqueSkill =        //         await UIManager.Instance.CreateGComponentForObject<UseQuqueSkill>(UseQuqueSkill, null,        //             UseQuqueSkillRoot, isInstance: true);        //     useQuqueSkill.ShowWidget(skillBasic);        //     useQuqueSkill.transform.SetAsLastSibling();        // }        private async void AddMagicWeaponHeroEntity()        {            CombatMagicWeaponEntity[] magicWeaponEntities = CombatController.currActiveCombat                .playerHeroEntity.heroMagicWeaponControl.AllMagicWeapon;            int count = CombatController.currActiveCombat.playerHeroEntity.heroMagicWeaponControl                .MagicWeaponCount;            for (int i = 0; i < count; i++)            {                CombatMagicWeaponEntity weaponEntity = magicWeaponEntities[i];                MagicWeaponWidget shengShiEventWidget =                    await UIManager.Instance.CreateGComponentForObject<MagicWeaponWidget>(MagicWeaponWidget, null,                        MagicWeapon,                        isInstance: true);                shengShiEventWidget.InitWidget(weaponEntity);            }            // shengShiEventWidget.InitShengShiEventWidget(configId);        }        public async CTask ShowPanel()        {            playerHeroHpWidget =                await UIManager.Instance.CreateGComponentForObject<HeroHpWidget>(PlayerHpWidget, null);            playerHeroHpWidget.size = 250;            playerHeroHpWidget.shieldSize = 100;            playerHeroHpWidget.isFollowTarget = false;            playerHeroHpWidget.Init(CombatController.currActiveCombat.playerHeroEntity);            CombatHeroEntity[] allEnemy =                CombatController.currActiveCombat.CombatHeroController.GetHero(true, out int maxCount);            for (int i = 0; i < maxCount; i++)            {                CombatHeroEntity enemy = allEnemy[i];                if (enemy.isCreateHeroHp)                {                    continue;                }                BossHpWidget bossHpWidget =                    await UIManager.Instance.CreateGComponentForObject<BossHpWidget>(BossHpWidget, null, BossHpRoot,                        isInstance: true);                bossHpWidget.ShowWidget(enemy);            }            AddMagicWeaponHeroEntity();        }        public override void AddButtonEvent()        {            CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged);            AutoUse.onValueChanged.AddListener((x) =>            {                CombatController.currActiveCombat.playerHeroEntity.heroMagicWeaponControl.isAutoUse =                    x;            });            ZhanTing.onClick.AddListener(() =>            {                CombatController.currActiveCombat.isUpdate = false;                CombatPuasePanel.OpenCombatPuasePanel(ZhanTing_onClick);            });        }        private void ZhanTing_onClick(bool isOk)        {            CombatController.currActiveCombat.isUpdate = true;            if (isOk)            {                CombatController.currActiveCombat.GameOver(false);            }        }        private void CameraSelect_onValueChanged(float value)        {            if (CombatController.currActiveCombat == null ||                CombatController.currActiveCombat.CombatCameraControllder == null)            {                return;            }            CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value);        }        public void Update()        {        }    }}
 |