DESKTOP-FB72PO8\Administrator vor 4 Monaten
Ursprung
Commit
1090b668f9

Datei-Diff unterdrückt, da er zu groß ist
+ 243 - 559
Assets/Art/Chapter/Chapter02.prefab


+ 1 - 1
Assets/Res/CombatScenes/NavMeshTarget.prefab

@@ -47,7 +47,7 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   m_AgentTypeID: 0
   m_CollectObjects: 1
-  m_Size: {x: 69.6, y: 10, z: 76.8}
+  m_Size: {x: 69.6, y: 10, z: 110}
   m_Center: {x: 0, y: 2, z: 0}
   m_LayerMask:
     serializedVersion: 2

+ 0 - 62
Assets/Scenes/testCombat.scene

@@ -580,67 +580,6 @@ CanvasRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 442218246}
   m_CullTransparentMesh: 1
---- !u!1001 &597066665
-PrefabInstance:
-  m_ObjectHideFlags: 0
-  serializedVersion: 2
-  m_Modification:
-    serializedVersion: 3
-    m_TransformParent: {fileID: 0}
-    m_Modifications:
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalPosition.x
-      value: -22.807297
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalPosition.y
-      value: -0.99843895
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalPosition.z
-      value: -6.5913196
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalRotation.w
-      value: 1
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalRotation.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalRotation.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalRotation.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.x
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.y
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 3904968013911866960, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_LocalEulerAnglesHint.z
-      value: 0
-      objectReference: {fileID: 0}
-    - target: {fileID: 6090200664286961698, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: enemyHeroInfo.Array.data[0].enemyHeroInfo.Array.data[0].heroID
-      value: 9000106
-      objectReference: {fileID: 0}
-    - target: {fileID: 9214784224709271120, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
-      propertyPath: m_Name
-      value: TestCombat
-      objectReference: {fileID: 0}
-    m_RemovedComponents: []
-    m_RemovedGameObjects: []
-    m_AddedGameObjects: []
-    m_AddedComponents: []
-  m_SourcePrefab: {fileID: 100100000, guid: 1076536f8fdf47942aa287592c6a8b19, type: 3}
 --- !u!1 &753442135
 GameObject:
   m_ObjectHideFlags: 0
@@ -1052,4 +991,3 @@ SceneRoots:
   - {fileID: 376281607}
   - {fileID: 235899921}
   - {fileID: 123020045}
-  - {fileID: 597066665}

+ 12 - 2
Assets/Scripts/GameLogic/Combat/CombatTool/CombatCameraControllder.cs

@@ -77,12 +77,22 @@ namespace GameLogic.Combat.CombatTool
 
                 if (!isHero)
                 {
+                    int c = 0;
                     for (int i = 0; i < combatHeroEntities.Length; i++)
                     {
-                        p += combatHeroEntities[i].dotPos;
+                        if (!combatHeroEntities[i].isDie)
+                        {
+                            c++;
+                            p += combatHeroEntities[i].dotPos;
+                        }
+                    }
+
+                    if (c <= 0)
+                    {
+                        return;
                     }
 
-                    p /= combatHeroEntities.Length;
+                    p /= c;
                 }
 
 

+ 17 - 0
Assets/Scripts/GameLogic/Combat/CombatTool/CombatHeroController.cs

@@ -192,6 +192,23 @@ namespace GameLogic.Combat.CombatTool
             }
         }
 
+        public void SetHpToMaxHp()
+        {
+            for (int i = 0; i < myHero.Count; i++)
+            {
+                CombatHeroEntity c = myHero[i];
+                if (c.isDie)
+                {
+                    continue;
+                }
+
+                c.CurrCombatHeroInfo.hp=c.MaxCombatHeroInfo.hp;
+                HeroHpUpdateEventData heroHpUpdateEventData = HeroHpUpdateEventData.Create();
+                heroHpUpdateEventData.combatHeroEntity = c;
+                CombatEventManager.Instance.Dispatch(CombatEventType.HeroHpUpdate, heroHpUpdateEventData);
+            }
+        }
+
         private void CombatUseSkillEventData(IEventData iEventData)
         {
             CombatUseSkillEventData combatUseSkillEventData = iEventData as CombatUseSkillEventData;

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

@@ -1,4 +1,5 @@
 using Excel2Json;
+using Fort23.Core;
 using Fort23.UTool;
 using GameLogic.Combat.Skill;
 using Utility;
@@ -26,7 +27,7 @@ namespace GameLogic.Combat.CombatTool
 
                         return null;
                     }
-
+                    // CObjectPool.Instance.F
                     SkillBasic sb = (SkillBasic)System.Activator.CreateInstance(type);
                     sb.InitSkillConfig(skillConfig);
                     return sb;

+ 1 - 0
Assets/Scripts/GameLogic/Combat/CombatType/CombatTypeBasic.cs

@@ -82,6 +82,7 @@ namespace GameLogic.Combat.CombatType
             currBannerHero.GetThis<BannerHero>().Init(nextConfig.targetMoveStartPoint.gameObject);
             combatController.CombatSenceController.UpdateNavMesh(nextConfig.targetMoveStartPoint.position);
             _currIndex++;
+            CombatController.currActiveCombat.CombatHeroController.SetHpToMaxHp();
         }
 
         private void OnTriggerEnterEvent(Collider collider)

+ 3 - 2
Assets/Scripts/GameLogic/Combat/CombatType/LevelBattleCombatType.cs

@@ -48,7 +48,7 @@ namespace GameLogic.Combat.CombatType
             {
                 _exp = value;
                 CombatEventManager.Instance.Dispatch(CombatEventType.CombatExpAlter, null);
-                if (!isBossCombat&&exp >= _levelBattleConfig.exp) // 到达目标值,开始打boss
+                if (!isBossCombat && exp >= _levelBattleConfig.exp) // 到达目标值,开始打boss
                 {
                     StartBossCombat();
                 }
@@ -185,7 +185,7 @@ namespace GameLogic.Combat.CombatType
             expItemShow.addValue = 5;
             _simulatedExp = 5;
             EventManager.Instance.Dispatch(CustomEventType.Combat_ItemShow, combatItemShowEventData);
-            
+
             if (_simulatedExp < _levelBattleConfig.exp)
             {
                 CombatHeroEntity[] allHero = combatController.CombatHeroController.GetHero(true);
@@ -207,6 +207,7 @@ namespace GameLogic.Combat.CombatType
         {
             _currNodeWavesIndex = 0;
             CombatController.currActiveCombat.CombatHeroController.SetFollowTarget();
+      
             FindNextConfig();
             InitTestCombatBoChi();
             CreateEnemy(new CTaskAwaitBuffer());

+ 12 - 12
Assets/Scripts/GameLogic/Combat/Hero/CombatAIBasic.cs

@@ -24,6 +24,11 @@ public class CombatAIBasic : IDisposable
     protected float _r = 5;
     public bool isAlert;
 
+    public CombatHeroStateBasic CurrState
+    {
+        get { return stateControl.CurrIState as CombatHeroStateBasic; }
+    }
+
     /// <summary>
     /// 当前聚焦的目标
     /// </summary>
@@ -184,20 +189,15 @@ public class CombatAIBasic : IDisposable
 
 
         stateControl.Update(t);
-        if (currFocusTarget != null && !_combatHeroEntity.isDie && !isAlert)
+        if (currFocusTarget != null && CurrState != null && CurrState.IsUpdateLockTarget() &&
+            !_combatHeroEntity.isDie && !isAlert)
         {
-            if (!stateControl.CurrStateName.Equals(CombatHeroStateType.move) &&
-                !stateControl.CurrStateName.Equals(CombatHeroStateType.followMove) &&
-                !stateControl.CurrStateName.Equals(CombatHeroStateType.att))
+            Vector3 nextPos = currFocusTarget.dotPos;
+            Vector3 p = nextPos - _combatHeroEntity.dotPos;
+            if (p.sqrMagnitude > 0.00001)
             {
-                Vector3 nextPos = currFocusTarget.dotPos;
-                Vector3 p = nextPos - _combatHeroEntity.dotPos;
-
-                if (p.sqrMagnitude > 0.00001)
-                {
-                    _combatHeroEntity.combatHeroGameObject.rotation = Quaternion.Lerp(
-                        _combatHeroEntity.combatHeroGameObject.rotation, Quaternion.LookRotation(p.normalized), 0.5f);
-                }
+                _combatHeroEntity.combatHeroGameObject.rotation = Quaternion.Lerp(
+                    _combatHeroEntity.combatHeroGameObject.rotation, Quaternion.LookRotation(p.normalized), 0.5f);
             }
         }
 

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

@@ -43,7 +43,7 @@ public class CombatHeroEntity : ITimeLineSpecialDotPos, ILifeCycle, ITimeLineAni
 
     private float _injuriedShowTime;
     private bool _isAddinjuriedShow;
-    private float _addInjuiedValue = (1.0f / 0.2f) * 1f;
+    private float _addInjuiedValue = (1.0f / 0.2f) * 0.3f;
 
     public Vector3 dotPos
     {
@@ -95,6 +95,7 @@ public class CombatHeroEntity : ITimeLineSpecialDotPos, ILifeCycle, ITimeLineAni
             GameObjectPool fx_hero_quan =
                 await GObjectPool.Instance.FetchAsync<GameObjectPool>("fx_hero_quan.prefab", null);
             fx_hero_quan.own.transform.SetParent(poolInterface.own.transform);
+            fx_hero_quan.own.transform.localPosition = Vector3.zero;
         }
 
         poolInterface.own.SetActive(false);
@@ -177,7 +178,7 @@ public class CombatHeroEntity : ITimeLineSpecialDotPos, ILifeCycle, ITimeLineAni
                 if (_isAddinjuriedShow)
                 {
                     combatHeroGameObject.HeroGPUMono.injuriedStrength += t * (_addInjuiedValue);
-                    if (combatHeroGameObject.HeroGPUMono.injuriedStrength >= 1f)
+                    if (combatHeroGameObject.HeroGPUMono.injuriedStrength >= 0.3f)
                     {
                         _isAddinjuriedShow = false;
                     }
@@ -185,6 +186,10 @@ public class CombatHeroEntity : ITimeLineSpecialDotPos, ILifeCycle, ITimeLineAni
                 else
                 {
                     combatHeroGameObject.HeroGPUMono.injuriedStrength -= t * (_addInjuiedValue);
+                    if (combatHeroGameObject.HeroGPUMono.injuriedStrength < 0)
+                    {
+                        combatHeroGameObject.HeroGPUMono.injuriedStrength = 0;
+                    }
                 }
             }
             else

+ 4 - 1
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroAttState.cs

@@ -9,7 +9,10 @@ namespace GameLogic.Combat.Hero.State
         public CombatHeroAttState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
         {
         }
-
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
         protected override void ProEnter()
         {
             skillBasic = combatHeroEntity.CombatHeroSkillControl.CanReleaseSkill();

+ 4 - 1
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroFollowMoveState.cs

@@ -17,7 +17,10 @@ namespace GameLogic.Combat.Hero.State
         public CombatHeroFollowMoveState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
         {
         }
-
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
         protected override void ProEnter()
         {
             lasetTaregtPoint = new Vector3(999999, 99999, 99999);

+ 5 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroMoveState.cs

@@ -19,6 +19,11 @@ namespace GameLogic.Combat.Hero.State
         {
         }
 
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
+
         protected override void ProEnter()
         {
             EventManager.Instance.AddEventListener(CustomEventType.RefreshFull,RefreshFull);

+ 5 - 2
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroRollingState.cs

@@ -35,11 +35,14 @@ namespace GameLogic.Combat.Hero.State
         protected ACurve ACurve;
 
         private RollingStateData _rollingStateData;
-
+ 
         public CombatHeroRollingState(CombatHeroEntity combatHeroEntity) : base(combatHeroEntity)
         {
         }
-
+        public override bool IsUpdateLockTarget()
+        {
+            return false;
+        }
         protected override void ProEnter()
         {
             _rollingStateData = iStateEnterData as RollingStateData;

+ 5 - 0
Assets/Scripts/GameLogic/Combat/Hero/State/CombatHeroStateBasic.cs

@@ -50,6 +50,11 @@ namespace GameLogic.Combat.Hero.State
         {
         }
 
+        public virtual bool IsUpdateLockTarget()
+        {
+            return true;
+        }
+
         public void Dispose()
         {
             ProDispose();

Einige Dateien werden nicht angezeigt, da zu viele Dateien in diesem Diff geändert wurden.