Exemple #1
0
 private void Shoot()
 {
     if (!shootPrompt)
     {
         return;
     }
     if (cooldownTime >= shootCooldown)
     {
         cooldownTime = 0f;
         blaster.Shoot();
     }
 }
Exemple #2
0
    private void ShootState()
    {
        body.velocity = new Vector2(0, 0);
        Vector3 playerPos = LevelController.Instance.GetPlayerPosition();
        Vector3 diff      = playerPos - transform.position;

        diff.Normalize();

        float z = Mathf.Atan2(diff.y, diff.x) * Mathf.Rad2Deg;

        transform.rotation = Quaternion.Euler(0f, 0f, z - 90);
        cooldownTime      += Time.deltaTime;
        if (cooldownTime >= shootCooldown)
        {
            cooldownTime = 0f;
            blaster.Shoot();
        }
        if (Vector3.Distance(this.gameObject.transform.position, playerPos) > distToShoot)
        {
            state = States.SeekPlayer;
        }
    }