Ejemplo n.º 1
0
 void SavePlayerData(Vehicle.Player winningPlayer)
 {
     if (!File.Exists("PlayerData.txt"))
     {
         File.Create("PlayerData.txt");
     }
     using (StreamWriter strm = new StreamWriter("PlayerData.txt"))
     {
         strm.WriteLine(winningPlayer);
         Debug.Log(winningPlayer);
     }
 }
Ejemplo n.º 2
0
    private void Update()
    {
        Debug.Log(QualitySettings.pixelLightCount);
        //Debug.Log(1.0 / Time.deltaTime); //FPS
        for (int i = 0; i < cars.Length; i++)
        {
            cars[i].nearestCheckpoint = NearestCheckpoint(i);
        }

        if (!isLevelWon)
        {
            for (int i = 0; i < cars.Length; i++)
            {
                if (cars[i].lapsComplete == totalLaps) //Doesn't run when isLevelWon is set to true in this condition
                {
                    isLevelWon = true;

                    Vehicle.Player winningVehicle = cars[i].carTransform.GetComponent <Vehicle>().vehiclesPlayer;
                    winText.enabled = true;
                    if (gameType == "Competition" || gameType == null)
                    {
                        winText.text = ($"Player {i + 1} wins!");
                        SavePlayerData(winningVehicle); //Saves data to a file
                        CompetitionWinner.AddPointTo(i);
                    }
                    else if (gameType == "TimeTrial")
                    {
                        winText.text = "You finished!";
                        timer.StopTimer();

                        RaceTimer.CheckAndSetBetterTime(timer);
                        RaceTimer.SaveTimes();
                    }
                    StartCoroutine(LoadSceneAfterWait(3f));
                    if (gameType == "TimeTrial")
                    {
                        GameObject.FindGameObjectWithTag("Music").GetComponent <MusicManager>().StopMusic();
                    }
                }
            }
            for (int i = 0; i < cars.Length; i++)
            {
                if (cars[i].nearestCheckpoint == null)
                {
                    Debug.Log("Test");
                    return;
                }
                if (cars[i].nearestCheckpoint.index == cars[i].lastSeenCheckpoint.index)
                {
                }
                else if (cars[i].nearestCheckpoint.index > cars[i].lastSeenCheckpoint.index)
                {
                    Debug.Log("test...");
                    var distance = cars[i].nearestCheckpoint.index - cars[i].lastSeenCheckpoint.index;

                    if (distance > longestPermittedShortcut + 1)
                    {
                        cars[i].wrongWayIndicator.SetActive(true);
                    }
                    else
                    {
                        cars[i].lastSeenCheckpoint = cars[i].nearestCheckpoint;

                        cars[i].wrongWayIndicator.SetActive(false);
                    }
                }
                else if (cars[i].nearestCheckpoint.isLapStart && cars[i].lastSeenCheckpoint.next.isLapStart)
                {
                    Debug.Log("Test!");
                    cars[i].lastSeenCheckpoint = cars[i].nearestCheckpoint;

                    cars[i].lapsComplete += 1;
                    UpdateLapCounter(i);
                }
                else
                {
                    //Checkpoint is lower than the last one, player is going the wrong way
                    cars[i].wrongWayIndicator.SetActive(true);
                }
            }
        }
    }