private void Shoot() { if (!shootPrompt) { return; } if (cooldownTime >= shootCooldown) { cooldownTime = 0f; blaster.Shoot(); } }
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; } }