Example #1
0
    private void EndRace()
    {
        //Camera Stuff
        GameObject[] CamerasToDeact = GameObject.FindGameObjectsWithTag("CameraD");

        foreach (GameObject CO in CamerasToDeact)
        {
            CO.SetActive(false);
        }
        GameObject.FindGameObjectWithTag("CameraA").GetComponent <Camera>().enabled = true;
        //TODO
        //Show end screen stuff

        //Calculate total time
        decimal totaltime = 0;

        for (int i = 0; i < TimeList.Length; i++)
        {
            totaltime = totaltime + TimeList[i];
        }
        int     minutes = (int)totaltime / 60;
        decimal seconds = totaltime - (minutes * 60);


        if (!PlayerPrefs.HasKey(StageName + "P"))
        {
            PlayerPrefs.SetFloat(StageName + "P", (float)totaltime);
        }

        GameObject.FindGameObjectWithTag("PRPTT").GetComponent <TimeTrialResults>().SetResults(TimeList, StageName, totaltime);
    }
Example #2
0
    private void EndRace()
    {
        racefinished = true;
        Debug.Log("End Race Called");
        string[] order          = PositionSnapShot();
        int      numberoffinish = -1;

        if (FinalPositions[0] == "Player") //Player is first
        {
            //position snapshot should just work?
        }
        else if (FinalPositions[FinalPositions.Length - 1] == "Player")
        { //player is last
            string outputa = "";
            foreach (string position in FinalPositions)
            {
                outputa = outputa + position + " : ";
            }
            Debug.Log(outputa);

            try
            {
                PlayerPoints.UpdateScores(FinalPositions, SceneToLoad);
            }
            catch
            {
                Debug.Log("No Point Manager Found, No Level Will Be Loaded");
            }


            //Camera Stuff
            GameObject[] CamerasToDeact = GameObject.FindGameObjectsWithTag("CameraD");

            foreach (GameObject CO in CamerasToDeact)
            {
                CO.SetActive(false);
            }

            GameObject.FindGameObjectWithTag("CameraA").GetComponent <Camera>().enabled = true;

            return;
        }

        else //Player isn't first
        {
            for (int i = 0; i < FinalPositions.Length; i++)
            {
                if (FinalPositions[i] == "NA")
                {
                    numberoffinish = i;
                    break;
                }
            }
        }

        if (numberoffinish == -1)
        {
            numberoffinish = 1;
        }

        for (int j = numberoffinish; j < FinalPositions.Length; j++)
        {
            FinalPositions[j] = order[j];
        }

        string[] RaceFinishPosition = new string[FinalPositions.Length];

        for (int q = 0; q < FinalPositions.Length; q++)
        {
            RaceFinishPosition[q] = Regex.Replace(FinalPositions[q], "[0-9]", "");
        }

        string output = "";

        foreach (string position in RaceFinishPosition)
        {
            output = output + position + " : ";
        }
        Debug.Log(output);

        try
        {
            PlayerPoints.UpdateScores(RaceFinishPosition, SceneToLoad);
        } catch
        {
            Debug.Log("No Point Manager Found, No Level Will Be Loaded");
        }

        //Camera Stuff
        GameObject[] CamerasToDeactT = GameObject.FindGameObjectsWithTag("CameraD");

        foreach (GameObject CO in CamerasToDeactT)
        {
            CO.SetActive(false);
        }

        GameObject.FindGameObjectWithTag("CameraA").GetComponent <Camera>().enabled = true;
    }