日志2025.2.7

日志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);
        }

    }
}

你可能感兴趣的:(unity,算法,游戏程序)