日志2025.2.7
1.敌人新增了追逐状态
using UnityEngine;
public class ChaseState_Melee : EnemyState
{
private Enemy_Melee enemy;
public ChaseState_Melee(Enemy enemyBase, EnemyStateMachine stateMachine, string animBoolName) : base(enemyBase, stateMachine, animBoolName)
{
enemy = (Enemy_Melee)enemyBase;
}
public override void Enter()
{
base.Enter();
enemy.agent.speed = enemy.chaseSpeed;
enemy.agent.isStopped = false;
}
public override void Exit()
{
base.Exit();
}
public override void Update()
{
base.Update();
if (enemy.PlayerInAttackRange())
{
stateMachine.ChangeState(enemy.attackState);
return;
}
enemy.agent.destination = enemy.playerTransform.position;//不能放在Enter,因为它不是动态的
enemy.TurnToTarget(enemy.playerTransform.position);
}
}
2.敌人增加了攻击状态
using UnityEngine;
public class AttackState_Melee : EnemyState
{
private Enemy_Melee enemy;
public AttackState_Melee(Enemy enemyBase, EnemyStateMachine stateMachine, string animBoolName) : base(enemyBase, stateMachine, animBoolName)
{
enemy = (Enemy_Melee)enemyBase;
}
public override void Enter()
{
base.Enter();
}
public override void Exit()
{
base.Exit();
}
public override void Update()
{
base.Update();
if (triggerCalled)
{
stateMachine.ChangeState(enemy.recoveryState);
}
}
}