void Update() { if (GameStats.GameOver || _laserUsed || !InputHelper.Down()) { return; } try { if (Laser.transform.position.x > TargetBull.transform.position.x) { return; } } catch (Exception) { return; } var eyes = Laser.transform.position; var laserWidth = Laser.sprite.texture.width / Laser.sprite.pixelsPerUnit; var distance = Vector2.Distance(eyes, TargetBull.transform.position); var center = Vector2.MoveTowards(eyes, TargetBull.transform.position, distance / 2f); var scale = distance / laserWidth; Laser.transform.position = center; Laser.transform.localScale = new Vector3(scale, Laser.transform.localScale.y, 1f); var vectorToTarget = TargetBull.transform.position - (Vector3)center; var angle = Mathf.Atan2(vectorToTarget.y, vectorToTarget.x) * Mathf.Rad2Deg; Laser.transform.rotation = Quaternion.AngleAxis(angle, Vector3.forward); Laser.enabled = true; Destroy(Laser, 0.1f); LaserSound.Play(); TargetBull.LaserHit(); _laserUsed = true; }
void Update() { if (Input.GetKeyDown(KeyCode.Escape)) { Application.Quit(); return; } if (Input.GetKeyDown(KeyCode.F12)) { if (!_isFullScreen) { Screen.SetResolution(1920, 1080, true); } else { Screen.SetResolution(1280, 720, false); } _isFullScreen = !_isFullScreen; } if (GameStats.CanStartGame && InputHelper.Down()) { HandleStart(); } else if (GameStats.GameOver) { HandleGameOver(); } else if (_strip) { _strip = false; StartCoroutine("StripCoroutine"); } }