Beispiel #1
0
 void OnCollisionEnter2D(Collision2D col)
 {
     if (col.gameObject.name == "racket")
     {
         GetComponent <Rigidbody2D> ().velocity = (new Vector2(hitFactor(transform.position,
                                                                         col.transform.position,
                                                                         col.collider.bounds.size.x), 1).normalized) * speed;
     }
     else if (col.gameObject.tag == "end_life_wall" && gameObject != null)
     {
         gameObject.transform.position = new Vector2(0, -106);
         gameObject.GetComponent <Rigidbody2D> ().velocity = Vector2.up * (speed = DEFAULT_SPEED);
         ballState      = BallCollisionManager.BallDensity.NORMAL;
         ballColorState = BallCollisionManager.ColorState.NEUTRAL;
         GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> ("Sprites/ball/Neutral/neutral_ball_2");
     }
     else if (col.gameObject.tag == "brick")
     {
         // if(pointPowerUpIterator++ < POINT_POWER_UP_BLOCK_LIMIT)
         // {
         //  points += pointGain;
         //  pointsText.text = points.ToString ();
         // }
         // else
         // {
         //  pointGain = DEFAULT_POINT_GAIN;
         //  pointPowerUpIterator = 0;
         // }
     }
     else if (col.gameObject.tag == "multi_color_brick")
     {
         //TODO: add ball density to ball of different color
         StartCoroutine(colorPowerUp());
     }
 }
Beispiel #2
0
    IEnumerator colorPowerUp()
    {
        //TODO: Random Variable "Color Blocks"
        ballColorState = bcm.getRandomColor();
        bcm.changeBallColor(gameObject, ballColorState, ballState);
        yield return(new WaitForSeconds(6));

        ballColorState = BallCollisionManager.ColorState.NEUTRAL;
        bcm.changeBallColor(gameObject, BallCollisionManager.ColorState.NEUTRAL, ballState);
    }
Beispiel #3
0
    void OnCollisionEnter2D(Collision2D col)
    {
        if (col.gameObject.tag == "normal_brick" ||
            col.gameObject.tag == "solid_brick" ||
            col.gameObject.tag == "speed_power_up" ||
            col.gameObject.tag == "point_power_up" ||
            col.gameObject.tag == "resize_power_up" ||
            col.gameObject.tag == "density_power_up" ||
            col.gameObject.tag == "ball")
        {
            Physics2D.IgnoreCollision(col.gameObject.GetComponent <Collider2D> (), GetComponent <Collider2D> ());
        }
        else if (col.gameObject.tag == "racket")
        {
            if (ball != null)
            {
                string path = "Sprites/ball/Neutral/neutral_ball_";

                BallCollisionManager.ColorState state = ball.GetComponent <Ball> ().ballColorState;

                if (state == BallCollisionManager.ColorState.RED)
                {
                    path = "Sprites/ball/Red/red_ball_";
                }
                else if (state == BallCollisionManager.ColorState.BLUE)
                {
                    path = "Sprites/ball/Blue/blue_ball_";
                }
                else if (state == BallCollisionManager.ColorState.GREEN)
                {
                    path = "Sprites/ball/Green/green_ball_";
                }
                else if (state == BallCollisionManager.ColorState.YELLOW)
                {
                    path = "Sprites/ball/Yellow/yellow_ball_";
                }

                bool ballHasChanged;
                int  num;
                do
                {
                    num = bcm.getRand(0, 3);
                    if (num == 2)
                    {
                        if (ballHasChanged = (ball.GetComponent <Ball> ().ballState != BallCollisionManager.BallDensity.NORMAL))
                        {
                            ball.GetComponent <Ball> ().ballState        = BallCollisionManager.BallDensity.NORMAL;
                            ball.GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> (path + "2");
                        }
                        else
                        {
                            ballHasChanged = false;
                            continue;
                        }
                    }
                    else if (ballHasChanged = (num == 0))
                    {
                        ball.GetComponent <Ball> ().ballState        = BallCollisionManager.BallDensity.HARD;
                        ball.GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> (path + "4");
                    }
                    else if (ballHasChanged = (num == 1))
                    {
                        ball.GetComponent <Ball> ().ballState        = BallCollisionManager.BallDensity.SOFT;
                        ball.GetComponent <SpriteRenderer> ().sprite = Resources.Load <Sprite> (path + "1");
                    }
                } while(!ballHasChanged);
                Destroy(gameObject);
            }
        }
    }