소스 검색

修改bug

DESKTOP-FB72PO8\Administrator 20 시간 전
부모
커밋
673281273b

+ 1 - 1
Assets/Scenes/testCombat.scene

@@ -2237,7 +2237,7 @@ PrefabInstance:
       objectReference: {fileID: 0}
     - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
       propertyPath: m_IsActive
-      value: 1
+      value: 0
       objectReference: {fileID: 0}
     m_RemovedComponents: []
     m_RemovedGameObjects: []

+ 2 - 1
Assets/Scripts/GameLogic/Combat/CombatTool/CombatController.cs

@@ -136,7 +136,7 @@ namespace GameLogic.Combat.CombatTool
         public void Update(float t)
         {
             CombatGestureController.Instance.Update();
-            if (!isUpdate || _isFullUIShow)
+            if (!isUpdate || _isFullUIShow||IsGameOver)
             {
                 return;
             }
@@ -170,6 +170,7 @@ namespace GameLogic.Combat.CombatTool
 
         public void GameOver(bool isWin)
         {
+            IsGameOver = true;
             combatFinish?.Invoke(isWin);
         }
 

+ 1 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/MagicWeaponCollisionInfo.cs

@@ -305,6 +305,7 @@ namespace GameLogic.Combat.CombatTool
             GObjectPool.Instance.Recycle(ParticleSystemPool);
             ParticleSystemPool = null;
             triigerCount = 0;
+            _isPengZhuang = false;
         }
 
         public string tag { get; }

+ 1 - 0
Assets/Scripts/GameLogic/Combat/Hero/MagicWeaponControl.cs

@@ -82,6 +82,7 @@ namespace GameLogic.Combat.Hero
 
         public void UseMagicWeapon(CombatMagicWeaponEntity combatMagicWeaponEntity)
         {
+            combatMagicWeaponEntity.isMagicWeaponTreasureBook = false;
             globalMagicWeaponCd = 2;
             UseMagicWeaponEventData useMagicWeaponEventData = UseMagicWeaponEventData.Create();
             useMagicWeaponEventData.combatHeroEntity = combatHeroEntity;

+ 12 - 0
Assets/Scripts/GameLogic/Combat/Skill/S2002.cs

@@ -13,11 +13,13 @@ namespace GameLogic.Combat.Skill
         protected override void ProInitSkill()
         {
             CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjuredEventData);
+            CombatEventManager.Instance.AddEventListener(CombatEventType.UseMagicWeapon, UseMagicWeapon);
         }
 
         protected override void ProReplace()
         {
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.HeroInjured, HeroInjuredEventData);
+            CombatEventManager.Instance.RemoveEventListener(CombatEventType.UseMagicWeapon, UseMagicWeapon);
         }
 
         protected override void ProUseSkill()
@@ -25,6 +27,16 @@ namespace GameLogic.Combat.Skill
             // CombatEventManager.Instance.AddEventListener(CombatEventType.HeroInjured, HeroInjuredEventData);
         }
 
+        private void UseMagicWeapon(IEventData iEventData)
+        {
+            UseMagicWeaponEventData useMagicWeaponEventData = iEventData as UseMagicWeaponEventData;
+
+            if (useMagicWeaponEventData.combatHeroEntity == CombatHeroEntity)
+            {
+                useMagicWeaponEventData.combatMagicWeaponEntity.isMagicWeaponTreasureBook = true;
+            }
+        }
+
         private void HeroInjuredEventData(IEventData iEventData)
         {
             HeroInjuredEventData heroInjuredEventData = iEventData as HeroInjuredEventData;

+ 22 - 9
Assets/Scripts/GameUI/Combat/CombatDrive.cs

@@ -36,7 +36,7 @@ namespace GameLogic.Combat
         public async CTask StartCombat(StartCombatInfo startCombatInfo)
         {
             CombatController.Dispose();
-            combatMonoBaisc = new CombatMonoBaisc();
+            combatMonoBaisc = new LevelBattleCombatMono();
             CombatEquipFallManager.Instance.Dispose();
             CombatEquipFallManager.Instance.Init();
             CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
@@ -84,11 +84,11 @@ namespace GameLogic.Combat
             // await cTaskAwaitBuffer.WaitAll();
             // await CombatHPPanel.OpenCombatHPPanel();
 
-           
+
             await CombatPanel.OpenCombatPanel();
             ///播放动画
 
-         
+
             // MainPanel mainPanel = UIManager.Instance.GetComponent<MainPanel>();
             // mainPanel.transform.gameObject.SetActive(false);
             CombatController.ChangeState(CombatController.update);
@@ -96,15 +96,28 @@ namespace GameLogic.Combat
 
         protected void CombatFinish(bool isWin)
         {
-            caombatFinish?.Invoke(isWin);
-            
-            
-            ///播放动画
-        
-            UIManager.Instance.ShowLastHindAllShowPanel();
+            LoadCombatFinishUI(isWin);
+
             // MainPanel mainPanel = UIManager.Instance.GetComponent<MainPanel>();
             // mainPanel.transform.gameObject.SetActive(true);
+        }
+
+        private async CTask LoadCombatFinishUI(bool isWin)
+        {
             UIManager.Instance.HideUIUIPanel<CombatPanel>();
+            await combatMonoBaisc.GameOver(isWin);
+        }
+
+        /// <summary>
+        /// 战斗到章节
+        /// </summary>
+        /// <param name="isWin"></param>
+        public void CombatToStage(bool isWin)
+        {
+            caombatFinish?.Invoke(isWin);
+
+
+            UIManager.Instance.ShowLastHindAllShowPanel();
         }
 
         public void Update()

+ 23 - 20
Assets/Scripts/GameUI/Combat/CombatMonoBaisc.cs

@@ -19,15 +19,12 @@ namespace GameUI.Combat
     /// </summary>
     public class CombatMonoBaisc
     {
-        private CombatController combatController;
+        protected CombatController combatController;
 
-      
-
-        
         public async CTask Init(CombatController combatController)
         {
             this.combatController = combatController;
-           
+
             AddEvent();
         }
 
@@ -35,33 +32,39 @@ namespace GameUI.Combat
         protected void AddEvent()
         {
             EventManager.Instance.AddEventListener(CustomEventType.Combat_ItemShow, Combat_ItemShow);
-          
-            CombatEventManager.Instance.AddEventListener(CombatEventType.HeroDieFinish, HeroDie);
+
+            // CombatEventManager.Instance.AddEventListener(CombatEventType.HeroDieFinish, HeroDie);
         }
 
-        protected void HeroDie(IEventData iEventData)
+        public async CTask GameOver(bool isWin)
         {
-            HeroDieEventData heroDieEventData= iEventData as HeroDieEventData;
-            if (heroDieEventData.combatHeroEntity.IsEnemy)
-            {
-                return;
-            }
+            await ProGameOver(isWin);
+        }
 
-            BetterList<CombatHeroEntity> myHero = combatController.CombatHeroController.GetHeroList(false);
-            if (myHero.Count <= 0)
-            {
-              
-            }
+        protected virtual async CTask ProGameOver(bool isWin)
+        {
         }
+        // protected void HeroDie(IEventData iEventData)
+        // {
+        //     HeroDieEventData heroDieEventData= iEventData as HeroDieEventData;
+        //     if (heroDieEventData.combatHeroEntity.IsEnemy)
+        //     {
+        //         return;
+        //     }
+        //
+        //     BetterList<CombatHeroEntity> myHero = combatController.CombatHeroController.GetHeroList(false);
+        //     if (myHero.Count <= 0)
+        //     {
+        //         // BattleSettlementPanel.OpenPanel(true);
+        //     }
+        // }
 
         protected void Combat_ItemShow(IEventData iEventData)
         {
-          
         }
 
         private void SetTargetPoint(ImageMove imageMove)
         {
-          
         }
 
 

+ 18 - 0
Assets/Scripts/GameUI/Combat/LevelBattleCombatMono.cs

@@ -0,0 +1,18 @@
+using Fort23.Core;
+using Fort23.Mono;
+
+namespace GameUI.Combat
+{
+    public class LevelBattleCombatMono : CombatMonoBaisc
+    {
+        protected override async CTask ProGameOver(bool isWin)
+        {
+            await BattleSettlementPanel.OpenPanel(isWin,UICallBack);
+        }
+
+        private void UICallBack()
+        {
+            
+        }
+    }
+}

+ 3 - 0
Assets/Scripts/GameUI/Combat/LevelBattleCombatMono.cs.meta

@@ -0,0 +1,3 @@
+fileFormatVersion: 2
+guid: 79d8344f033d423a8a51f21166a5f490
+timeCreated: 1747733073

+ 9 - 3
Assets/Scripts/GameUI/UI/BattleSettlementPanel/BattleSettlementPanel.cs

@@ -5,6 +5,8 @@ namespace Fort23.Mono
 	[UIBinding(prefab = "BattleSettlementPanel"  )]
 	public partial class BattleSettlementPanel : UIPanel
 	{
+		
+		private System.Action callBack;
 		private void Init()
 		{
 
@@ -22,11 +24,14 @@ namespace Fort23.Mono
 			Button_ok.onClick.AddListener(() =>
 			{
 				UIManager.Instance.HideUIUIPanel(this);
+				callBack?.Invoke();
+				callBack = null;
 			});
 		}
 
-		public void CustomInit(bool isWin)
+		public void CustomInit(bool isWin,System.Action callBack)
 		{
+			this.callBack = callBack;
 			if (isWin)
 			{
 				Text_Desc.gameObject.SetActive(false);
@@ -39,10 +44,11 @@ namespace Fort23.Mono
 			}
 		}
 
-		public async CTask<BattleSettlementPanel> OpenPanel(bool isWin)
+		public static async CTask<BattleSettlementPanel> OpenPanel(bool isWin,System.Action callBack)
 		{
 			BattleSettlementPanel battleSettlementPanel = await UIManager.Instance.LoadAndOpenPanel<BattleSettlementPanel>(null);
-			battleSettlementPanel.CustomInit(isWin);
+			battleSettlementPanel.CustomInit(isWin,callBack);
+			
 			return battleSettlementPanel;
 		}
 

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 201 - 654
UserSettings/Layouts/default-2022.dwlt


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.