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); }
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); } }
void BackToLobby() { if (!isServer) { CmdClearLists(); DeathRaceManager.ClearLists(); FindObjectOfType <NetworkLobbyManager>().SendReturnToLobby(); } else { DeathRaceManager.ClearLists(); FindObjectOfType <NetworkLobbyManager>().SendReturnToLobby(); } //FindObjectOfType<NetworkLobbyManager>().ServerReturnToLobby(); }
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; }
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(); } }
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(); } }
public void CmdClearLists() { DeathRaceManager.ClearLists(); }
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(); }