示例#1
0
    public static void saveInfo(scoreNumber score)
    {
        BinaryFormatter binary = new BinaryFormatter();
        string          path   = Application.persistentDataPath + "/mazeSave3.bblaze";

        FileStream stream = new FileStream(path, FileMode.Create);

        playersData playersData = new playersData(score);

        binary.Serialize(stream, playersData);
        stream.Close();
    }
示例#2
0
    public static playersData loadSaved()
    {
        string path = Application.persistentDataPath + "/mazeSave3.bblaze";

        if (File.Exists(path))
        {
            BinaryFormatter binary = new BinaryFormatter();
            FileStream      file   = new FileStream(path, FileMode.Open);

            playersData Data = binary.Deserialize(file) as playersData;
            file.Close();
            return(Data);
        }
        return(null);
    }
示例#3
0
        public async Task<CustomSnapshotRoot> getKeeperInfo(string guid)
        {
            string keeperData = "";
            getNumPlayersOnServer playersOnServerData = getNumPlayersOnServerInfo(guid);
            SnapshotRoot snapshotData = null;
            CustomSnapshotRoot snapshotSend = null;
            List<playersData> team0Data = new List<playersData>();
            List<playersData> team1Data = new List<playersData>();
            List<playersData> team2Data = new List<playersData>();
            playersData empty = new playersData { name = "No players on the server" };
            
            try
            {
                keeperData = await HttpAsync.GetUrlAsync(keeperURL + guid);
            }
            catch (Exception)
            {
                CLogging.AddLog("The server crashed or was never available: " + guid);
            }

            snapshotData = JsonConvert.DeserializeObject<SnapshotRoot>(keeperData);

            if (snapshotData == null)
                return null;
            if (!snapshotData.snapshot.status.Equals("SUCCESS", StringComparison.OrdinalIgnoreCase))
                return null;
            //run update code and return null

            if (snapshotData.snapshot.teamInfo.Team0 != null)
            {
                var team0 = snapshotData.snapshot.teamInfo.Team0;
                foreach (KeyValuePair<string, JToken> x in team0.players)
                {
                    TeamPlayer playerInfo = x.Value.ToObject<TeamPlayer>();

                    team0Data.Add(
                        new playersData
                        {
                            playerId = ulong.Parse(x.Key.ToString()),
                            name = playerInfo.Name,
                            kills = playerInfo.kills,
                            deaths = playerInfo.deaths,
                            score = playerInfo.score,
                            tag = playerInfo.tag,
                            squad = playerInfo.squad,
                            role = playerInfo.role
                        });
                }

            }
            if (snapshotData.snapshot.teamInfo.Team1 != null)
            {
                var team1 = snapshotData.snapshot.teamInfo.Team1;
                foreach (KeyValuePair<string, JToken> x in team1.players)
                {
                    TeamPlayer playerInfo = x.Value.ToObject<TeamPlayer>();

                    team1Data.Add(
                        new playersData
                        {
                            playerId = ulong.Parse(x.Key.ToString()),
                            name = playerInfo.Name,
                            kills = playerInfo.kills,
                            deaths = playerInfo.deaths,
                            score = playerInfo.score,
                            tag = playerInfo.tag,
                            squad = playerInfo.squad,
                            role = playerInfo.role
                        });
                }

            }
            else
            {
                team1Data.Add(empty);
            }

            if (snapshotData.snapshot.teamInfo.Team2 != null)
            {
                var team2 = snapshotData.snapshot.teamInfo.Team2;
                foreach (KeyValuePair<string, JToken> x in team2.players)
                {
                    TeamPlayer playerInfo = x.Value.ToObject<TeamPlayer>();

                    team2Data.Add(
                        new playersData
                        {
                            playerId = ulong.Parse(x.Key.ToString()),
                            name = playerInfo.Name,
                            kills = playerInfo.kills,
                            deaths = playerInfo.deaths,
                            score = playerInfo.score,
                            tag = playerInfo.tag,
                            squad = playerInfo.squad,
                            role = playerInfo.role
                        });
                }

            }
            else
            {
                team2Data.Add(empty);
            }
            //SORT TEAM DATA BY SCORE
            team1Data = team1Data.OrderByDescending(x => x.score).ToList();
            team2Data = team2Data.OrderByDescending(x => x.score).ToList();
            //Copy snapshotData to snapshotSend
            //--------------COPY---------------
            //repackage all data into CustomSnapshotRoot
            int team1Tickets = 0;
            int team2Tickets = 0;
            int team1TicketsMax = 0;
            int team2TicketsMax = 0;
            if (snapshotData.snapshot.Conquest != null)
            {
                team1Tickets = snapshotData.snapshot.Conquest.Team1.tickets;
                team1TicketsMax = snapshotData.snapshot.Conquest.Team1.ticketsMax;
                team2Tickets = snapshotData.snapshot.Conquest.Team2.tickets;
                team2TicketsMax = snapshotData.snapshot.Conquest.Team2.ticketsMax;
            }
            else if (snapshotData.snapshot.Deathmatch != null)
            {
                team1Tickets = snapshotData.snapshot.Deathmatch.Team1.Kills;
                team1TicketsMax = snapshotData.snapshot.Deathmatch.Team1.KillsMax;
                team2Tickets = snapshotData.snapshot.Deathmatch.Team2.Kills;
                team2TicketsMax = snapshotData.snapshot.Deathmatch.Team2.KillsMax;
            }
            try
            {
                snapshotSend = new CustomSnapshotRoot
                {
                    lastUpdated = snapshotData.lastUpdated,
                    snapshot = new CustomSnapshot
                    {
                        status = snapshotData.snapshot.status,
                        gameId = snapshotData.snapshot.gameId,
                        currentMap = snapshotData.snapshot.currentMap,
                        maxPlayers = snapshotData.snapshot.maxPlayers,
                        waitingPlayers = snapshotData.snapshot.waitingPlayers,
                        roundTime = snapshotData.snapshot.roundTime,
                        gameMode = snapshotData.snapshot.gameMode,
                        mapId = playersOnServerData.map,
                        modeId = playersOnServerData.mapMode,
                        team1Tickets = new modeCounter
                        {
                            tickets = team1Tickets,
                            ticketsMax = team1TicketsMax
                        },
                        team2Tickets = new modeCounter
                        {
                            tickets = team2Tickets,
                            ticketsMax = team2TicketsMax
                        },
                        teamInfo = new CustomSnapshotTeamInfo
                        {
                            team0 = new CustomSnapshotTeam
                            {
                                faction = snapshotData.snapshot.teamInfo.Team0.faction,
                                player = team0Data
                            },
                            team1 = new CustomSnapshotTeam
                            {
                                faction = snapshotData.snapshot.teamInfo.Team1.faction,
                                player = team1Data
                            },
                            team2 = new CustomSnapshotTeam
                            {
                                faction = snapshotData.snapshot.teamInfo.Team2.faction,
                                player = team2Data
                            }
                        }
                    }
                };
            }
            catch (Exception ex)
            {
                CLogging.AddLog(ex.ToString());
            }
            if((team0Data.Count + team1Data.Count + team2Data.Count) < 1)
            {
                return null;
            }
            return snapshotSend;
        }
示例#4
0
    private void Awake()
    {
        playersData data = saveSystem.loadSaved();

        temp = data.highScore;
    }