using System.Collections.Generic; using Common.Utility.CombatEvent; using Excel2Json; using Fort23.Core; using GameLogic.Combat.CombatTool; using UnityEngine; namespace Fort23.Mono { [UIBinding(prefab = "CombatPanel")] public partial class CombatPanel : UIPanel { public static void OpenCombatPanel(CTaskAwaitBuffer cTaskAwaitBuffer) { cTaskAwaitBuffer.AddTask(UIManager.Instance.LoadAndOpenPanel(null, UILayer.Middle)); // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask("hd_0.fontsettings", // delegate(AssetHandle handle) { huiFuFont = handle.AssetObject(); })); // // cTaskAwaitBuffer.AddTask(AssetBundleLoadManager.Instance.LoadAssetAsyncTask("Zhanli_0.fontsettings", // delegate(AssetHandle handle) { shangHai = handle.AssetObject(); })); } private void Init() { } protected override void AddEvent() { CombatEventManager.Instance.AddEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData); CombatEventManager.Instance.AddEventListener(CombatEventType.GameStart, GameStart); CombatEventManager.Instance.AddEventListener(CombatEventType.AddMagicWeaponHeroEntity, AddMagicWeaponHeroEntity); StaticUpdater.Instance.AddLateUpdateCallBack(Update); CameraSelect.value = 0.7f; } private async void AddMagicWeaponHeroEntity(IEventData ieveData) { AddMagicWeaponHeroEntityEventData eventData = ieveData as AddMagicWeaponHeroEntityEventData; MagicWeaponWidget shengShiEventWidget = await UIManager.Instance.CreateGComponentForObject(MagicWeaponWidget, null, MagicWeapon, isInstance: true); shengShiEventWidget.InitWidget(eventData.CombatMagicWeaponEntity); // shengShiEventWidget.InitShengShiEventWidget(configId); } private async void AddRandomEventEventData(IEventData ieveData) { AddRandomEventEventData eventData = ieveData as AddRandomEventEventData; int configId = eventData.randomEventID; ShengShiEventWidget shengShiEventWidget = await UIManager.Instance.CreateGComponentForObject(ShengShiEventWidget, null, DynamicEvent, isInstance: true); shengShiEventWidget.InitShengShiEventWidget(configId); } private async void GameStart(IEventData ieveData) { HeroHpWidget heroHpWidget = await UIManager.Instance.CreateGComponentForObject(PlayerHpWidget, null); heroHpWidget.size = 250; heroHpWidget.shieldSize = 100; heroHpWidget.isFollowTarget = false; heroHpWidget.Init(CombatController.currActiveCombat.CombatHeroController.playerHeroEntity); } protected override void DelEvent() { CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddRandomEvent, AddRandomEventEventData); CombatEventManager.Instance.RemoveEventListener(CombatEventType.GameStart, GameStart); CombatEventManager.Instance.RemoveEventListener(CombatEventType.AddMagicWeaponHeroEntity, AddMagicWeaponHeroEntity); StaticUpdater.Instance.RemoveLateUpdateCallBack(Update); } public override void AddButtonEvent() { bnt_shengShi.onClick.AddListener(Bnt_shengShi_onClick); CameraSelect.onValueChanged.AddListener(CameraSelect_onValueChanged); AutoUse.onValueChanged.AddListener((x) => { CombatController.currActiveCombat.CombatHeroController.playerHeroEntity.MagicWeaponControl.isAutoUse = x; }); } private async void Bnt_shengShi_onClick() { UIManager.Instance.DormancyAllGComponent(); CombatController.currActiveCombat.CombatSenceController.StartPayShengShi(CombatController.currActiveCombat .CombatHeroController.playerHeroEntity.GameObject.transform); List eventConfigs = EventSystemManager.Instance.DetectEvents(1); if(eventConfigs == null || eventConfigs.Count == 0) return; for (var i = 0; i < eventConfigs.Count; i++) { ShengShiEventWidget shengShiEventWidget = await UIManager.Instance.CreateGComponentForObject(ShengShiEventWidget, null, DynamicEvent, isInstance: true); shengShiEventWidget.InitShengShiEventWidget(eventConfigs[i].ID); } // // CombatController.currActiveCombat.RandomEventController.StartRandomEvent(CombatController.currActiveCombat // .CombatHeroController.playerHeroEntity.GameObject.transform); } private void CameraSelect_onValueChanged(float value) { if (CombatController.currActiveCombat == null || CombatController.currActiveCombat.CombatCameraControllder == null) { return; } CombatController.currActiveCombat.CombatCameraControllder.CameraSelect_onValueChanged(value); } public void Update() { } } }