示例#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 CmdKill()
 {
     if (!isInvincible)
     {
         this.RpcRaceLoseByExplode();
         if (DeathRaceManager.RemoveCarAndCheckWinner(this))
         {
             CarMovement winner = DeathRaceManager.GetWinnerByKill();
             winner.RpcWonByLastPlayer();
             winner.isFinished = true;
         }
         m_Rigidbody.AddExplosionForce(20000, transform.position, 5);
     }
 }
示例#3
0
 void BackToLobby()
 {
     if (!isServer)
     {
         CmdClearLists();
         DeathRaceManager.ClearLists();
         FindObjectOfType <NetworkLobbyManager>().SendReturnToLobby();
     }
     else
     {
         DeathRaceManager.ClearLists();
         FindObjectOfType <NetworkLobbyManager>().SendReturnToLobby();
     }
     //FindObjectOfType<NetworkLobbyManager>().ServerReturnToLobby();
 }
示例#4
0
    private void Start()
    {
        if (isServer)
        {
            DeathRaceManager.AddCar(this);
            NetworkServer.RegisterHandler(MessageToServer, ServerRecieveMessage);
        }

        if (isLocalPlayer)
        {
            CmdSetNameAndType(Prototype.NetworkLobby.LobbyManager.loggedInName, Prototype.NetworkLobby.LobbyManager.carType);
            if (carType == 0)
            {
                GetComponent <CarHealth>().CmdSetStartHealth(50);
                GetComponent <CarHealth>().CmdUpdateSliderMax(50);
            }
            else if (carType == 2)
            {
                GetComponent <CarHealth>().CmdSetStartHealth(500);
                GetComponent <CarHealth>().CmdUpdateSliderMax(50);
            }
            else
            {
                GetComponent <CarHealth>().CmdSetStartHealth(100);
                GetComponent <CarHealth>().CmdUpdateSliderMax(100);
            }
        }

        connectedPlayers = GetComponent <ConnectedPlayers>();

        m_MovementAxisName = "Vertical" + 1;
        m_TurnAxisName     = "Horizontal" + 1;
        m_resetButton      = "Reset" + 1;
        m_90sButton        = "90s" + 1;

        m_LapsText.text = m_laps.ToString() + "/" + m_TotalLaps;
        m_resetLocation.transform.parent = null;
        m_EngineAudio.clip          = m_EngineIdle;
        m_EngineAudio.loop          = true;
        m_EngineAudio.volume        = 0.1f;
        m_BackTurbineSource.clip    = m_BackTurbine;
        m_RunningInThe90sAudio.clip = m_RunningInThe90s;
        m_CatOnImage.sprite         = m_Empty;
    }
示例#5
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();
        }
    }
示例#6
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();
        }
    }
示例#7
0
 public void CmdClearLists()
 {
     DeathRaceManager.ClearLists();
 }
示例#8
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();
    }