Esempio n. 1
0
        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
        }
Esempio n. 2
0
    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];
                }
            }
        }
    }
Esempio n. 3
0
        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);
        }