public void PrepareGame() { //Fire event GameState = GameState.Prepare; gameState = GameState.Prepare; //Add another actions here //Set IsRevived equal to false IsRevive = false; currentBallFallingSpeed = originalBallFallingSpeed; float borderLeft = Camera.main.ViewportToWorldPoint(new Vector2(0, 1)).x; float borderRight = Camera.main.ViewportToWorldPoint(new Vector2(1, 1)).x; float radius = ballPrefab.GetComponent <CircleCollider2D>().radius; leftPoint = borderLeft + radius; rightPoint = borderRight - radius; _yPos = Camera.main.ViewportToWorldPoint(new Vector2(0, 1)).y + radius + 0.5f; //Clone a missile missileControl = Instantiate(missilePrefab, Vector2.zero, Quaternion.identity).GetComponent <BoostUpController>(); missileControl.gameObject.SetActive(false); //Clone a bomb bombControl = Instantiate(bombPrefab, Vector2.zero, Quaternion.identity).GetComponent <BoostUpController>(); bombControl.gameObject.SetActive(false); //Clone a laser laserControl = Instantiate(laserPrefab, Vector2.zero, Quaternion.identity).GetComponent <BoostUpController>(); laserControl.gameObject.SetActive(false); if (isRestart) { PlayingGame(); } }
override protected void OnTriggerEnter2D(Collider2D collision) { if (IsVisible) { if (collision.CompareTag("Bullet")) { if (int.Parse(numberText.text) <= 1) { BoostUpController missileControl = GameManager.Instance.GetMissileControl(); missileControl.transform.position = transform.position; missileControl.gameObject.SetActive(true); missileControl.MoveUp(); DataManager.Instance.AddScore(int.Parse(numberText.text)); DisableObject(true); GameManager.Instance.CreateBoostUp(transform.position); } else { int newNumber = int.Parse(numberText.text) - 1; numberText.text = newNumber.ToString(); float newScale = transform.localScale.x - scaleDownFactor; newScale = (newScale >= DataManager.Instance.minBallScale) ? newScale : DataManager.Instance.minBallScale; transform.localScale = new Vector3(newScale, newScale, 1); DataManager.Instance.AddScore(1); } } else if (collision.CompareTag("Destroy")) { DataManager.Instance.AddScore(int.Parse(numberText.text)); DisableObject(true); BoostUpController missileControl = GameManager.Instance.GetMissileControl(); missileControl.transform.position = transform.position; missileControl.gameObject.SetActive(true); missileControl.MoveUp(); GameManager.Instance.CreateBoostUp(transform.position); } } }