private void LateUpdate() { m_BalloonToScreenPosition = Camera.main.WorldToViewportPoint(this.transform.position); if (m_BalloonToScreenPosition.y > 1.25f) { BalloonsPooling.ChangeBalloonState(this.gameObject, false, false); } }
private void OnBalloonClicked(GameObject balloon) { BalloonMotor m_BallonMotor = balloon.GetComponent <BalloonMotor>(); int m_ScoreCost = (int)(1 + (m_BallonMotor.SpeedModifier * 2f)); m_BallonMotor.ScoreCost = m_ScoreCost; StartCoroutine(BalloonScoreCostVizualization(m_ScoreCost, 1f, balloon)); GlobalGameManager.instance.AddScore(m_ScoreCost); BalloonsPooling.ChangeBalloonState(balloon, false, true); }
IEnumerator SpawnBalloons() { while (true) { yield return(new WaitForSeconds(BALLOON_SPAWN_TIME)); GameObject balloon = BalloonsPooling.instance.GetPooledObject(); if (balloon == null) { continue; } Vector3 ballonPosition = Camera.main.ViewportToWorldPoint(GetBalloonSpawnPosition()); ballonPosition.z = 0; balloon.transform.position = ballonPosition; BalloonsPooling.ChangeBalloonState(balloon, true); SetupBalloonProperties(balloon); } }
private void Awake() { instance = this; }