diff --git a/Assets/JYY/Scenes/MonsterTest.unity b/Assets/JYY/Scenes/MonsterTest.unity index e6211594..d772a68e 100644 --- a/Assets/JYY/Scenes/MonsterTest.unity +++ b/Assets/JYY/Scenes/MonsterTest.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1423d99c1df3a3bb884799cdc72b7eca0f11c1b831f7414e56921662d826d6f9 +oid sha256:efc792ecb073a66263abf936bd751584b41224bde07c7f02418d10223d0c07f4 size 22331 diff --git a/Assets/Scripts/Character/Enemy/EnemyController.cs b/Assets/Scripts/Character/Enemy/EnemyController.cs index 894c7334..9883b5db 100644 --- a/Assets/Scripts/Character/Enemy/EnemyController.cs +++ b/Assets/Scripts/Character/Enemy/EnemyController.cs @@ -60,14 +60,11 @@ public abstract class EnemyController : CharacterBase // Commons _enemyStateIdle = new EnemyStateIdle(); _enemyStateDead = new EnemyStateDead(); - // Melee - _enemyStateTrace = new EnemyStateTrace(); - // Caster - _enemyStateFlee = new EnemyStateFlee(); switch (MonsterType) { case MonsterType.Melee: + _enemyStateTrace = new EnemyStateTrace(); _enemyStates = new Dictionary { { EnemyState.Idle, _enemyStateIdle }, @@ -76,6 +73,7 @@ public abstract class EnemyController : CharacterBase }; break; case MonsterType.Caster: + _enemyStateFlee = new EnemyStateFlee(); _enemyStates = new Dictionary { { EnemyState.Idle, _enemyStateIdle }, diff --git a/Assets/Scripts/Character/Enemy/EnemyState/Melee/EnemyStateTrace.cs b/Assets/Scripts/Character/Enemy/EnemyState/Melee/EnemyStateTrace.cs index 38bb4200..ba2c7f76 100644 --- a/Assets/Scripts/Character/Enemy/EnemyState/Melee/EnemyStateTrace.cs +++ b/Assets/Scripts/Character/Enemy/EnemyState/Melee/EnemyStateTrace.cs @@ -30,8 +30,8 @@ public class EnemyStateTrace : IEnemyState public void Update() { - if(_enemyController.IsMeleeCombat) return; - if (_enemyController.Agent.enabled != true) return; + if (_enemyController.Agent.enabled != true || + _enemyController.IsMeleeCombat) return; PlayerTracking();