Ejemplo n.º 1
0
    // calls after a ball has completely been played. For cueball and most of 9 ball, we reset it back up. For object balls, we screw it!
    // there should be more complicated logics that does this. So modify this later
    public void OnBallPocketedHouseKeeping(BallController ballController)
    {
        // cue ball should always be spotted
        if (ballController.isMain)
        {
            // set flags to indicate ball is pocketed
            cueController.pocketedTheCueBall = true;
            cueController.OnCueBallIsPocketed(true);
        }
        else if (ballController.id == 9)
        {
            // set flags to indicate ball is pocketed
            ballController.ballIsPocketed       = true;
            cueController.pocketedNineBall      = true;
            cueController.pocketedAnyObjectBall = true;

            // remove it from currentBallControllers
            cueController.currentBallControllers.Remove(ballController); // don't change this. Because nearest object ball depends on this. Talk with DJ before proceed.
            cueController.currentBallControllers.TrimExcess();
        }
        else
        {
            // set flags to indicate ball is pocketed
            ballController.ballIsPocketed       = true;
            cueController.pocketedAnyObjectBall = true;

            // remove it from currentBallControllers
            cueController.currentBallControllers.Remove(ballController); // don't change this. Because nearest object ball depends on this. Talk with DJ before proceed.
            cueController.currentBallControllers.TrimExcess();
        }

        GameManager_script.IncrementBallPocketed(cueController.TrackingShotAsPlayerOne, cueController.TrackingShotAsPlayerTwo);

        cueController.pocketedBallControllers.Add(ballController);
    }