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); }
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); } }