Ejemplo n.º 1
0
    protected override void OnRocketCollide(Rocket rocket)
    {
        float damage = rocket.Damage();

        audio.PlayOneShot(mSoundBoom);

        if (mPlayerSide == PlayerSide.PLAYER_LEFT || mPlayerSide == PlayerSide.PLAYER_RIGHT) {
            mHealth -= damage;
            for (int i=4; i>=(int)mHealth/20 && mHealth > 0 && mPlayerSide != PlayerSide.PLANET_AI; i--) {
                moons[i].SetActive(false);
            }
        }

        if (mHealth <= 0f) {
            Body.gameOver = true;
            GameOver go = Instantiate(pfGameOverScreen) as GameOver;

            // Flag the winner
            PlayerSide winner = ((mPlayerSide == PlayerSide.PLAYER_LEFT)
                                    ? PlayerSide.PLAYER_RIGHT
                                    : PlayerSide.PLAYER_LEFT);
            go.SetWinner(winner);
        }

        if (mPlayerSide == PlayerSide.PLANET_AI) {
            Planet target = PlayerPlanets[FindClosestPlayer()];

            transform.LookAt(target.transform.position);
            mAim.FireRocket(100f, transform.position);
        }
    }