示例#1
0
    public void CmdUpdateScoreBoard()
    {
        allCars = DeathRaceManager.GetCars();
        SortResults();

        scoreboardText.text = "Scoreboard\n";

        for (int i = 0; i < allCars.Count; i++)
        {
            scoreboardText.text += "Player: " + allCars[i].PlayerName + " " +
                                   "Score: " + allCars[i].score + " ";
            if (allCars[i].raceFinishTime != 9999999)
            {
                scoreboardText.text += "Time: " + allCars[i].raceFinishTime + "\n";
            }
            else
            {
                scoreboardText.text += "Time: " + "NOT FINISHED\n";
            }
        }

        scoreboardText.text += "Winner: " + allCars[0].PlayerName;

        RpcUpdateScoreBoardText(scoreboardText.text);
    }
示例#2
0
    public void CmdWriteOutIndividualData()
    {
        if (!isServer)
        {
            return;
        }

        CmdUpdateIndividualScores();

        foreach (CarMovement car in DeathRaceManager.GetCars())
        {
            StreamWriter carWriter = new StreamWriter("PlayerScores/" + car.PlayerName + car.carType + ".txt");

            foreach (int score in PlayerScoreData[car.PlayerName])
            {
                carWriter.WriteLine(score);
            }

            carWriter.Close();
        }
    }
示例#3
0
    public void CmdUpdateIndividualScores()
    {
        if (!isServer)
        {
            return;
        }

        //Debug.Log("Attempting to update individual scores");
        PlayerScoreData.Clear();

        foreach (CarMovement car in DeathRaceManager.GetCars())
        {
            InitializeScoreFile(car.PlayerName);

            StreamReader carReader = new StreamReader("PlayerScores/" + car.PlayerName + car.carType + ".txt");

            //Debug.Log("accessing file");

            List <int> temp = new List <int>();
            for (int i = 0; i < 10; i++)
            {
                try
                {
                    temp.Add(int.Parse(carReader.ReadLine()));
                }
                catch
                {
                    break;
                }
            }
            temp.Add(car.score);
            temp.Sort();
            temp.Reverse();

            PlayerScoreData.Add(car.PlayerName, temp);
            carReader.Close();
        }
    }
示例#4
0
    public void CmdWriteOutScoresData()
    {
        if (!isServer)
        {
            return;
        }

        gameScores.Clear();
        gameTimes.Clear();

        foreach (CarMovement car in DeathRaceManager.GetCars())
        {
            NameVal temp = new NameVal();
            temp.name = car.PlayerName;
            temp.val  = car.score;
            gameScores.Add(temp);
        }

        foreach (CarMovement car in DeathRaceManager.GetCars())
        {
            NameVal temp = new NameVal();
            temp.name = car.PlayerName;
            temp.val  = (int)car.raceFinishTime;
            gameTimes.Add(temp);
        }

        foreach (NameVal pair in gameScores)
        {
            fileScores.Add(pair);
        }

        foreach (NameVal pair in gameTimes)
        {
            fileTimes.Add(pair);
        }

        fileScores = (fileScores.OrderBy(s => s.val)).ToList <NameVal>();
        fileScores.Reverse();

        fileTimes = (fileTimes.OrderBy(t => t.val)).ToList <NameVal>();

        List <NameVal> tempFileScores = new List <NameVal>(5);
        List <NameVal> tempFileTimes  = new List <NameVal>(5);

        for (int i = 0; i < 5; i++)
        {
            tempFileScores.Add(fileScores[i]);
            tempFileTimes.Add(fileTimes[i]);
        }

        fileScores = tempFileScores;
        fileTimes  = tempFileTimes;

        StreamWriter scoresWriter = new StreamWriter(scoresPath, false);

        foreach (NameVal pair in fileScores)
        {
            scoresWriter.WriteLine(pair.name);
            scoresWriter.WriteLine(pair.val);
        }

        scoresWriter.Close();

        StreamWriter timesWriter = new StreamWriter(timesPath, false);

        foreach (NameVal pair in fileTimes)
        {
            timesWriter.WriteLine(pair.name);
            timesWriter.WriteLine(pair.val);
        }

        timesWriter.Close();
    }