private void baserace_savePLayer(BRPlayer racer, Base Base) { SSPlayer ssp = this.m_Players.PlayerList.Find(item => item.PlayerName == racer.PlayerName); if (ssp == null || !(ssp.SubspaceId > 0)) { psyGame.SafeSend(msg.chan(1, "SSPlayer not found - Filedatabase - baserace_savePLayer.")); return; } // Create Deva player profile folder if it isnt created System.IO.Directory.CreateDirectory(this.m_HomeDir + "Players" + Path.DirectorySeparatorChar + ssp.SubspaceId.ToString()); // Check deva profile - create profile if not created if (!this.playerHasDevaProfile(ssp)) { this.createDevaPlayerProfile(ssp); } string racerDir = this.m_HomeDir + "BaseRace" + Path.DirectorySeparatorChar + "Racers" + Path.DirectorySeparatorChar + ssp.SubspaceId.ToString(); // Create racer folder if it isnt created System.IO.Directory.CreateDirectory(racerDir); // Check Race profile - create profile if not created if (!this.playerHasRaceProfile(ssp, racerDir)) { this.createRaceProfile(ssp, racerDir); } // Store race time for player using (StreamWriter w = File.AppendText(racerDir + Path.DirectorySeparatorChar + "base" + Base.BaseID.ToString().PadLeft(3, '0') + ".times")) { w.WriteLine("Player:" + ssp.PlayerName); w.WriteLine("Ship:" + racer.Ship); w.WriteLine("Time:" + racer.Time); w.WriteLine("Date:" + DateTime.Now.ToShortDateString()); } string baseDir = this.m_HomeDir + "BaseRace" + Path.DirectorySeparatorChar + "Bases" + Path.DirectorySeparatorChar; using (StreamWriter w = File.AppendText(baseDir + "base" + Base.BaseID.ToString().PadLeft(3, '0') + ".times")) { w.WriteLine("Player:" + ssp.PlayerName); w.WriteLine("Ship:" + racer.Ship); w.WriteLine("Time:" + racer.Time); w.WriteLine("Date:" + DateTime.Now.ToShortDateString()); } //need to store match if player count > 1 }
private void StartGame() { //Spawn Players if (spawnPoints != null && playerPrefab != null && playerList != null) { string[] players = playerList.GetJoinedUsernames().ToArray(); for (int i = 0; i < players.Length; ++i) { GameObject player = Instantiate(playerPrefab); player.transform.position = spawnPoints[i].position; BRPlayer playerData = player.GetComponent <BRPlayer>(); if (playerData != null) { playerData.playerName = players[i]; } } } }
private List <BRPlayer> getBaseRecords(int BaseID) { string baseFileName = "base" + BaseID.ToString().PadLeft(3, '0') + ".times"; string baseDir = this.m_HomeDir + "BaseRace" + Path.DirectorySeparatorChar + "Bases" + Path.DirectorySeparatorChar; if (!File.Exists(baseDir + baseFileName)) { return(null); } List <BRPlayer> savedTimes = new List <BRPlayer>(); string name = ""; string ship = ""; TimeSpan time = new TimeSpan(); using (StreamReader sr = File.OpenText(baseDir + baseFileName)) { string s = String.Empty; while ((s = sr.ReadLine()) != null) { if (s.StartsWith("Player:")) { name = s.Replace("Player:", "").Trim(); } else if (s.StartsWith("Ship:")) { ship = s.Replace("Ship:", "").Trim(); } else if (s.StartsWith("Time:")) { time = TimeSpan.Parse(s.Replace("Time:", "").Trim()); } else if (s.StartsWith("Date:")) { BRPlayer p = new BRPlayer(); p.PlayerName = name; p.Ship = this.getShip(ship); p.Time = time; p.Date = DateTime.Parse(s.Replace("Date:", "").Trim()); savedTimes.Add(p); } } } if (savedTimes.Count <= 0) { return(null); } int a, b = 0; for (a = 0; a < savedTimes.Count; a++) { for (b = a + 1; b < savedTimes.Count; b++) { if (savedTimes[a].Time > savedTimes[b].Time) { BRPlayer temp = savedTimes[a]; savedTimes[a] = savedTimes[b]; savedTimes[b] = temp; } } } return(savedTimes); }