Ejemplo n.º 1
0
    public override void Update()
    {
        if (enemy.AmmoAmt < 1)
        {
            for (int i = 0; i < AmmoSpawner.INSTANCE.spawnedBullets.Count; i++)
            {
                if (AmmoSpawner.INSTANCE.spawnedBullets[i] != null)
                {
                    enemy.UpdateCurrentState(new CollectAmmoState(character));
                }
            }
        }

        RaycastHit2D[] test = enemy.GetWallCollisionArray();

        for (int i = 0; i < test.Length; i++)
        {
            if (test[i].collider != null)
            {
                enemy.movementController.Move((CalculateDirection(test[i].point).normalized) * enemy.PatrolConfig.patrolMovementSpeed);
            }
        }

        if ((enemy.transform.position - enemy.GetTarget().position).sqrMagnitude < enemy.HuntConfig.huntRange)
        {
            enemy.UpdateCurrentState(new HuntState(character));
        }
    }
Ejemplo n.º 2
0
    public override void Update()
    {
        for (int i = 0; i < enemy.GetWallCollisionArray().Length; i++)
        {
            if (enemy.GetWallCollisionArray()[i].collider != null)
            {
                ServiceLocator.AudioService.PlaySound(SoundTypes.EnemyDie);
                if ((tick += Time.deltaTime) >= stunTime)
                {
                    enemy.UpdateCurrentState(new PatrolState(enemy));
                }

                if (enemy.Health < 1)
                {
                    enemy.UpdateCurrentState(new DeadState(character));
                }
            }
        }
    }