예제 #1
0
    void OnCollisionEnter2D(Collision2D collision)
    {
        if (collision.gameObject.name.Equals("Ball"))
        {
            lastContactPoint = collision.GetContact(0);

            //Ketika bertumbukan dengan bola setelah 2 detik,
            //Jika bola belum menjadi bola api
            //Invoke rollFireBall menggunakan CallRollFireBall
            if (ball.IsBallOnFire == false)
            {
                ball.CallRollFireBall(1.0f);
            }
            //Jika bola merupakan bola api dan mengenai player
            else
            {
                //Jika player tidak powerup
                if (isPoweredUp == false)
                {
                    //lawan bertambah scorenya
                    opponent.IncrementScore();

                    //Jika score belum mencapai maksimal
                    if (Score < gameManager.maxScore)
                    {
                        //...restart game setelah bola api mengenai player
                        collision.gameObject.SendMessage("RestartGame",
                                                         2.0f, SendMessageOptions.RequireReceiver);
                    }
                }
                else
                {
                    //Jika player poweredup dan berhasil memantulkan bola
                    ball.CallRollFireBall(1.0f);
                }
            }
        }
    }