Пример #1
0
 public override void Stay(EnemyTank enemy)
 {
     enemy.LookTarget(enemy.player);
     if (enemy.currentHealth <= 0)
     {
         enemy.ChangeState(EnemyState.Die);
     }
     if (enemy.DistanceToPalyer() <= enemy.property.AttackRange)
     {
         enemy.ChangeState(EnemyState.Attack);
     }
     if (enemy.DistanceToPalyer() > enemy.property.ViewRange)
     {
         enemy.ChangeState(EnemyState.Patrol);
     }
 }
Пример #2
0
    public override void Stay(EnemyTank enemy)
    {
        enemy.CurveMove(false);

        if (enemy.currentHealth <= 0)
        {
            enemy.ChangeState(EnemyTankState.Die);
        }
        if (enemy.DistanceToPalyer() <= enemy.property.ViewRange)
        {
            enemy.ChangeState(EnemyTankState.Aware);
        }
    }
Пример #3
0
    public override void Stay(EnemyTank enemy)
    {
        //enemy.RotateTarget(enemy.gameObject, enemy.player, enemy.property.RotateSpeed);
        enemy.RotateTarget(enemy.EnemyHead, enemy.player, enemy.property.HeadRotSpeed, out float angle);
        enemy.TraceTarget(enemy.player);
        enemy.ShootTarget();

        if (enemy.currentHealth <= 0)
        {
            enemy.ChangeState(EnemyTankState.Die);
        }
        if (enemy.DistanceToPalyer() > enemy.property.AttackRange)
        {
            enemy.ChangeState(EnemyTankState.Aware);
        }
    }