瀏覽代碼

修改boss

DESKTOP-FB72PO8\Administrator 4 月之前
父節點
當前提交
eae2d790a0

+ 8 - 8
Assets/Scenes/testCombat.scene

@@ -612,29 +612,29 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   myHeroInfo:
   - modelName: Hero01
-    hp: 1000
-    att: 30
+    hp: 10000
+    att: 100
     attSpeed: 1
     attDis: 2
     isGpu: 0
     skillId: 1b270000ab860100
   - modelName: Hero02
-    hp: 1000
-    att: 30
+    hp: 10000
+    att: 100
     attSpeed: 1
     attDis: 4
     isGpu: 0
     skillId: 1b2700004b0d0300
   - modelName: Hero03
-    hp: 1000
-    att: 30
+    hp: 10000
+    att: 100
     attSpeed: 1
     attDis: 5
     isGpu: 0
     skillId: 1b270000eb930400
   - modelName: Hero04
-    hp: 1000
-    att: 30
+    hp: 10000
+    att: 100
     attSpeed: 1
     attDis: 6
     isGpu: 0

+ 36 - 8
Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs

@@ -12,6 +12,7 @@ namespace GameLogic.Combat.CombatType
     public class LevelBattleCombatType : CombatTypeBasic
     {
         private TestCombatHeroConfig testCombatHeroConfig;
+
         // protected TestCombatHeroConfig.EnemyGroup currEnemyGroup;
         /// <summary>
         /// 当前关卡战斗的波次节点
@@ -55,10 +56,7 @@ namespace GameLogic.Combat.CombatType
             }
             else if (combatHeroEntity.CurrCombatHeroInfo.heroType == 4) ///boss死了
             {
-                isBossCombat = false;
-                _levelBattleConfig = ConfigComponent.Instance.Get<LevelBattleConfig>(_levelBattleConfig.ID + 1);
-                _currLevelBattleNodeIndex = 0;
-                InitNewMonsterConfig();
+                BossKo();
             }
         }
 
@@ -95,7 +93,7 @@ namespace GameLogic.Combat.CombatType
             showTextEventData.worldPos = combatHeroEntity.combatHeroGameObject.position;
             EventManager.Instance.Dispatch(CustomEventType.ShowText, showTextEventData);
 
-            exp += 1;
+            exp += 5;
             if (exp >= _levelBattleConfig.exp) // 到达目标值,开始打boss
             {
                 StartBossCombat();
@@ -136,6 +134,30 @@ namespace GameLogic.Combat.CombatType
             CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
         }
 
+        protected void BossKo()
+        {
+            HarmReturnInfo harmReturnInfo = new HarmReturnInfo();
+            harmReturnInfo.harmType = HarmType.SystemKo;
+            CombatHeroEntity[] allHero = combatController.CombatHeroController.GetHero(true);
+            List<CombatHeroEntity> heroEntities = new List<CombatHeroEntity>();
+            heroEntities.AddRange(allHero);
+            for (int i = 0; i < heroEntities.Count; i++)
+            {
+                heroEntities[i].HeroDie(harmReturnInfo);
+            }
+
+            CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
+            isBossCombat = false;
+            LevelBattleConfig levelBattleConfig =
+                ConfigComponent.Instance.Get<LevelBattleConfig>(_levelBattleConfig.ID + 1);
+            if (levelBattleConfig.ID > 0)
+            {
+                _levelBattleConfig = levelBattleConfig;
+            }
+
+            _currLevelBattleNodeIndex = 0;
+            InitNewMonsterConfig();
+        }
 
         protected void StartBossCombat()
         {
@@ -143,16 +165,22 @@ namespace GameLogic.Combat.CombatType
             HarmReturnInfo harmReturnInfo = new HarmReturnInfo();
             harmReturnInfo.harmType = HarmType.SystemKo;
             CombatHeroEntity[] allHero = combatController.CombatHeroController.GetHero(true);
-            for (int i = 0; i < allHero.Length; i++)
+            List<CombatHeroEntity> heroEntities = new List<CombatHeroEntity>();
+            heroEntities.AddRange(allHero);
+            for (int i = 0; i < heroEntities.Count; i++)
             {
-                allHero[i].HeroDie(harmReturnInfo);
+                heroEntities[i].HeroDie(harmReturnInfo);
             }
 
+            CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
+            FindNextConfig();
             _currWavesConfig =
                 ConfigComponent.Instance.Get<MonsterWavesConfig>(
                     _levelBattleConfig.BossMonsterWavesId);
             _currNodeWavesIndex = -1;
-            CreateEnemy(new CTaskAwaitBuffer());
+            CTaskAwaitBuffer cTaskAwaitBuffer = new CTaskAwaitBuffer();
+            CreateEnemy(cTaskAwaitBuffer, _levelBattleConfig.bossMonsterId, _levelBattleConfig.bossLv, 0);
+            CreateEnemy(cTaskAwaitBuffer);
         }
 
 

+ 7 - 2
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroXiuMianState.cs

@@ -10,6 +10,7 @@ namespace GameLogic.Combat.Hero.State
     /// </summary>
     public class CombatHeroXiuMianState : CombatHeroStateBasic
     {
+        private TimerEntity _timerEntity;
         public CombatHeroXiuMianState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
         {
         }
@@ -49,8 +50,11 @@ namespace GameLogic.Combat.Hero.State
 
         protected void ActiveHero()
         {
-            TimerComponent.Instance.AddTimer(CombatCalculateTool.Instance.GetOdd(0, 2000),
-                delegate { combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Active); });
+            _timerEntity= TimerComponent.Instance.AddTimer(CombatCalculateTool.Instance.GetOdd(0, 2000),
+                delegate
+                {
+                    combatHeroEntity.CombatAIBasic.ChangeState(CombatHeroStateType.Active);
+                });
         }
 
         private void ActiveCombat(IEventData eventData)
@@ -66,6 +70,7 @@ namespace GameLogic.Combat.Hero.State
 
         protected override void ProDispose()
         {
+            TimerComponent.Instance.Remove(_timerEntity);
             CombatEventManager.Instance.RemoveEventListener(CombatEventType.ActiveCombat, ActiveCombat);
         }
     }

+ 11 - 6
Assets/Scripts/GameLogic/Combat/Skill/SkillBasic.cs

@@ -333,12 +333,17 @@ namespace GameLogic.Combat.Skill
                     .GetTimeLineEventLogicGroup<TimeLineEventLogicGroupBasic>(groupName, null);
             try
             {
-                timeLineEventLogicGroup.extraData = extraData;
-                timeLineEventLogicGroup.SetCombatInfo(_combatHeroEntity, this, currTarget, triggerData, customizePos);
-                timeLineEventLogicGroup.TimeLineUpdateEnd = finishCallBack;
-                timeLineEventLogicGroup.timeLineTime = startTime;
-                _combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
-                currUseAllTimeLineLogic.Add(timeLineEventLogicGroup);
+                if (timeLineEventLogicGroup != null)
+                {
+                    
+                    timeLineEventLogicGroup.extraData = extraData;
+                    timeLineEventLogicGroup.SetCombatInfo(_combatHeroEntity, this, currTarget, triggerData, customizePos);
+                    timeLineEventLogicGroup.TimeLineUpdateEnd = finishCallBack;
+                    timeLineEventLogicGroup.timeLineTime = startTime;
+                    _combatHeroEntity.combatHeroTimeLineControl.AddEventLogicGroup(timeLineEventLogicGroup);
+                    currUseAllTimeLineLogic.Add(timeLineEventLogicGroup);
+                }
+
             }
             catch (Exception e)
             {

+ 13 - 5
Assets/Scripts/GameTimeLine/SerializationTimeLine/TimeLienData.cs

@@ -28,7 +28,7 @@ public class TimeLienData
 
     public TimeLienData Clone()
     {
-        TimeLienData timeLienData = (TimeLienData) this.MemberwiseClone();
+        TimeLienData timeLienData = (TimeLienData)this.MemberwiseClone();
         timeLienData.DeserializeData();
         return timeLienData;
     }
@@ -46,7 +46,7 @@ public class TimeLienData
             if (type != null)
             {
                 TimeLineAssetSerialization timeLineAssetSerialization =
-                    (TimeLineAssetSerialization) JsonManager.FromJson(value[i], type);
+                    (TimeLineAssetSerialization)JsonManager.FromJson(value[i], type);
                 if (allAssetSerializations.TryGetValue(timeLineAssetSerialization.groupName,
                         out List<TimeLineAssetSerialization> info))
                 {
@@ -71,6 +71,11 @@ public class TimeLienData
     public T GetTimeLineEventLogicGroup<T>(string groupName, IFilterTimeLine filterTimeLine)
         where T : TimeLineEventLogicGroupBasic, new()
     {
+        if (string.IsNullOrEmpty(groupName))
+        {
+            return null;
+        }
+
         List<TimeLineAssetSerialization> timeLineAssetSerializations =
             GetTimeLineAssetSerialization(groupName, filterTimeLine);
         if (timeLineAssetSerializations.Count <= 0)
@@ -122,9 +127,9 @@ public class TimeLienData
 
         return null;
     }
+
     public ACurve GetTimeLineEventACurve(string groupName, string guid, IFilterTimeLine filterTimeLine)
     {
-       
         List<TimeLineAssetSerialization> timeLineAssetSerializations =
             GetTimeLineAssetSerialization(groupName, filterTimeLine);
         for (int i = 0; i < timeLineAssetSerializations.Count; i++)
@@ -134,13 +139,14 @@ public class TimeLienData
             if (timeLineAssetSerialization != null && timeLineAssetSerialization.guid.Equals(guid))
             {
                 ACurve aCurve = new ACurve();
-                aCurve.CurveInfos= timeLineAssetSerialization.CurveInfos;
+                aCurve.CurveInfos = timeLineAssetSerialization.CurveInfos;
                 return aCurve;
             }
         }
 
         return default;
     }
+
     public float GetTimeLineEventSkillForTime(string groupName, IFilterTimeLine filterTimeLine)
     {
         float maxTime = 0;
@@ -157,6 +163,7 @@ public class TimeLienData
 
         return 0;
     }
+
     public float GetTimeLineEventSkillForPuaseTime(string groupName, IFilterTimeLine filterTimeLine)
     {
         float maxTime = 0;
@@ -184,7 +191,8 @@ public class TimeLienData
             for (int i = 0; i < allInfo.Count; i++)
             {
                 TimeLineAssetSerialization fxSerializtion = allInfo[i];
-                if (fxSerializtion.groupName.Equals(groupName) && (filterTimeLine==null||filterTimeLine.Filter(fxSerializtion)))
+                if (fxSerializtion.groupName.Equals(groupName) &&
+                    (filterTimeLine == null || filterTimeLine.Filter(fxSerializtion)))
                 {
                     currTimeLineAssetSerializations.Add(fxSerializtion);
                 }

+ 40 - 40
UserSettings/Layouts/default-2022.dwlt

@@ -17,7 +17,7 @@ MonoBehaviour:
     x: 9
     y: 51
     width: 2543
-    height: 1341
+    height: 1333
   m_ShowMode: 4
   m_Title: Hierarchy
   m_RootView: {fileID: 4}
@@ -42,7 +42,7 @@ MonoBehaviour:
     x: 630
     y: 0
     width: 315
-    height: 650
+    height: 646
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 14}
@@ -70,11 +70,11 @@ MonoBehaviour:
     x: 0
     y: 0
     width: 945
-    height: 650
+    height: 646
   m_MinSize: {x: 200, y: 50}
   m_MaxSize: {x: 16192, y: 8096}
   vertical: 0
-  controlID: 1376
+  controlID: 33
   draggingID: 0
 --- !u!114 &4
 MonoBehaviour:
@@ -97,7 +97,7 @@ MonoBehaviour:
     x: 0
     y: 0
     width: 2543
-    height: 1341
+    height: 1333
   m_MinSize: {x: 875, y: 300}
   m_MaxSize: {x: 10000, y: 10000}
   m_UseTopView: 1
@@ -142,7 +142,7 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 1321
+    y: 1313
     width: 2543
     height: 20
   m_MinSize: {x: 0, y: 0}
@@ -169,11 +169,11 @@ MonoBehaviour:
     x: 0
     y: 30
     width: 2543
-    height: 1291
+    height: 1283
   m_MinSize: {x: 500, y: 100}
   m_MaxSize: {x: 40480, y: 16192}
   vertical: 0
-  controlID: 326
+  controlID: 560
   draggingID: 0
 --- !u!114 &8
 MonoBehaviour:
@@ -195,11 +195,11 @@ MonoBehaviour:
     x: 0
     y: 0
     width: 945
-    height: 1291
+    height: 1283
   m_MinSize: {x: 200, y: 100}
   m_MaxSize: {x: 16192, y: 16192}
   vertical: 1
-  controlID: 1375
+  controlID: 32
   draggingID: 0
 --- !u!114 &9
 MonoBehaviour:
@@ -219,7 +219,7 @@ MonoBehaviour:
     x: 0
     y: 0
     width: 630
-    height: 650
+    height: 646
   m_MinSize: {x: 201, y: 221}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 15}
@@ -243,9 +243,9 @@ MonoBehaviour:
   m_Position:
     serializedVersion: 2
     x: 0
-    y: 650
+    y: 646
     width: 945
-    height: 641
+    height: 637
   m_MinSize: {x: 101, y: 121}
   m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 16}
@@ -271,7 +271,7 @@ MonoBehaviour:
     x: 945
     y: 0
     width: 506
-    height: 1291
+    height: 1283
   m_MinSize: {x: 202, y: 221}
   m_MaxSize: {x: 4002, y: 4021}
   m_ActualView: {fileID: 17}
@@ -297,7 +297,7 @@ MonoBehaviour:
     x: 1451
     y: 0
     width: 379
-    height: 1291
+    height: 1283
   m_MinSize: {x: 232, y: 271}
   m_MaxSize: {x: 10002, y: 10021}
   m_ActualView: {fileID: 18}
@@ -323,9 +323,9 @@ MonoBehaviour:
     x: 1830
     y: 0
     width: 713
-    height: 1291
-  m_MinSize: {x: 275, y: 50}
-  m_MaxSize: {x: 4000, y: 4000}
+    height: 1283
+  m_MinSize: {x: 276, y: 71}
+  m_MaxSize: {x: 4001, y: 4021}
   m_ActualView: {fileID: 19}
   m_Panes:
   - {fileID: 19}
@@ -354,7 +354,7 @@ MonoBehaviour:
     x: 639
     y: 81
     width: 313
-    height: 629
+    height: 625
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -420,7 +420,7 @@ MonoBehaviour:
     x: 9
     y: 81
     width: 629
-    height: 629
+    height: 625
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -894,9 +894,9 @@ MonoBehaviour:
   m_Pos:
     serializedVersion: 2
     x: 9
-    y: 731
+    y: 727
     width: 944
-    height: 620
+    height: 616
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -930,7 +930,7 @@ MonoBehaviour:
     x: 954
     y: 81
     width: 504
-    height: 1270
+    height: 1262
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -944,9 +944,9 @@ MonoBehaviour:
   m_SceneHierarchy:
     m_TreeViewState:
       scrollPos: {x: 0, y: 0}
-      m_SelectedIDs: 30940100
-      m_LastClickedID: 103472
-      m_ExpandedIDs: 4229fdff7c2bfdff822bfdff8a2bfdff902bfdffb22bfdffc02bfdffd87cfdffe67cfdffca80fdff7c90fdffa491fdff5696fdffcaa2fdfff2a3fdffa4a8fdff7cb8fdffa4b9fdff60befdff0ecbfdff36ccfdff2cd1fdff80e0fdffa8e1fdff6ae6fdff46f3fdff6ef4fdff6af9fdff5408feff7c09feff420efeffb21afeffda1bfeffd220feffe48bfeff0c8dfeffca91feff469efeff6e9ffeff30a4feffa0b0feffc8b1feffc0b6feff60dcfffff4ffffffea9001003094010036940100
+      m_SelectedIDs: cea70000
+      m_LastClickedID: 42958
+      m_ExpandedIDs: eaf5ffff
       m_RenameOverlay:
         m_UserAcceptedRename: 0
         m_Name: 
@@ -993,7 +993,7 @@ MonoBehaviour:
     x: 1460
     y: 81
     width: 377
-    height: 1270
+    height: 1262
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0
@@ -1015,7 +1015,7 @@ MonoBehaviour:
     m_SkipHidden: 0
     m_SearchArea: 1
     m_Folders:
-    - Assets/Res
+    - Assets/Scripts/GameUI
     m_Globs: []
     m_OriginalText: 
     m_ImportLogFlags: 0
@@ -1023,16 +1023,16 @@ MonoBehaviour:
   m_ViewMode: 1
   m_StartGridSize: 16
   m_LastFolders:
-  - Assets/Res
+  - Assets/Scripts/GameUI
   m_LastFoldersGridSize: 16
-  m_LastProjectPath: D:\UnityProject\XY001\xy001\XY001
+  m_LastProjectPath: D:\unityProject\XY001
   m_LockTracker:
     m_IsLocked: 0
   m_FolderTreeState:
-    scrollPos: {x: 0, y: 0}
-    m_SelectedIDs: ded90000
-    m_LastClickedID: 55774
-    m_ExpandedIDs: 00000000b6d90000ecd90000f0d90000f05f0100f25f010000ca9a3bffffff7f
+    scrollPos: {x: 0, y: 406}
+    m_SelectedIDs: d2a80000
+    m_LastClickedID: 43218
+    m_ExpandedIDs: 00000000b4a80000b6a80000b8a80000baa80000bca80000bea80000c0a80000c2a80000c4a80000c6a80000c8a80000caa80000cca80000cea80000d0a80000d2a80000d4a8000000ca9a3bffffff7f
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -1060,7 +1060,7 @@ MonoBehaviour:
     scrollPos: {x: 0, y: 0}
     m_SelectedIDs: 
     m_LastClickedID: 0
-    m_ExpandedIDs: 00000000b6d90000b8d90000
+    m_ExpandedIDs: 00000000b4a80000b6a80000b8a80000baa80000bca80000bea80000c0a80000c2a80000c4a80000c6a80000c8a80000caa80000cca80000cea80000d0a80000d2a80000d4a80000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
       m_Name: 
@@ -1091,18 +1091,18 @@ MonoBehaviour:
     m_ExpandedInstanceIDs: 929701000000000096ba0200f41802008618020048180200ae180200d4180200e01702003ac30a004c1a02000c1a02007e17020058190200c4890000641b0200e4180200caa1000066d50000
     m_RenameOverlay:
       m_UserAcceptedRename: 0
-      m_Name: MoBan
-      m_OriginalName: MoBan
+      m_Name: 
+      m_OriginalName: 
       m_EditFieldRect:
         serializedVersion: 2
         x: 0
         y: 0
         width: 0
         height: 0
-      m_UserData: 736
+      m_UserData: 0
       m_IsWaitingForDelay: 0
       m_IsRenaming: 0
-      m_OriginalEventType: 0
+      m_OriginalEventType: 11
       m_IsRenamingFilename: 1
       m_ClientGUIView: {fileID: 12}
     m_CreateAssetUtility:
@@ -1139,7 +1139,7 @@ MonoBehaviour:
     x: 1839
     y: 81
     width: 712
-    height: 1270
+    height: 1262
   m_SerializedDataModeController:
     m_DataMode: 0
     m_PreferredDataMode: 0