Beispiel #1
0
    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);
         }
     }
 }