Ejemplo n.º 1
0
        public override void Process()
        {
            var players = new List <object>();
            var path    = GameUtils.GetPlayerDataDir();
            var files   = GetFiles(path);

            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file.Extension != ".ttp")
                    {
                        continue;
                    }
                    var pdf = new BCMPlayerDataFile
                    {
                        SteamId = file.Name.Substring(0, file.Name.Length - file.Extension.Length)
                    };
                    var player = PersistentContainer.Instance.Players[pdf.SteamId, false];
                    if (player != null)
                    {
                        pdf.Name       = player.Name;
                        pdf.LastOnline = player.LastOnline.ToString("yyyy-MM-ddTHH:mm:ssZ");
                        pdf.IsOnline   = player.IsOnline;
                    }
                    pdf.LastWrite = file.LastWriteTimeUtc.ToString("yyyy-MM-ddTHH:mm:ssZ");

                    players.Add(pdf);
                }
            }
            SendJson(players);
        }
Ejemplo n.º 2
0
        public override void Process()
        {
            var players = new List <BCMPlayerDataFile>();
            var path    = GameUtils.GetPlayerDataDir();
            var files   = GetFiles(path);

            if (files != null)
            {
                foreach (var file in files)
                {
                    if (file.Extension != ".ttp")
                    {
                        continue;
                    }
                    var pdf = new BCMPlayerDataFile
                    {
                        SteamId   = file.Name.Substring(0, file.Name.Length - file.Extension.Length),
                        LastWrite = file.LastWriteTimeUtc.ToUtcStr()
                    };
                    var player = PersistentContainer.Instance.Players[pdf.SteamId, false];
                    if (player != null)
                    {
                        pdf.Name       = player.Name;
                        pdf.LastOnline = player.LastOnline.ToUtcStr();
                        pdf.IsOnline   = player.IsOnline;
                        pdf.LastLogPos = player.LastLogoutPos?.ToString();
                    }

                    players.Add(pdf);
                }
            }
            if (Options.ContainsKey("min"))
            {
                SendJson(players.Select(player => new[]
                {
                    player.Name, player.SteamId, player.IsOnline.ToString(), player.LastOnline, player.LastWrite, player.LastLogPos
                }
                                        ).ToList());
            }
            else
            {
                SendJson(players);
            }
        }