public void ReloadPlayerMarkers() { _log.Information($"Refreshing player markers..."); // Look through all replays to get all players foreach (var replay in PreviewReplays) { IEnumerable <PlayerPreview> allPlayers; if (replay.BluePreviewPlayers != null) { allPlayers = replay.BluePreviewPlayers.Union(replay.RedPreviewPlayers); } else { allPlayers = replay.RedPreviewPlayers; } foreach (var player in allPlayers) { var matchedMarker = KnownPlayers.FirstOrDefault(x => x.Name.Equals(player.PlayerName, StringComparison.OrdinalIgnoreCase)); if (matchedMarker != null) { player.Marker = matchedMarker; } } } }
public ReplayPreview CreateReplayPreview(FileResult file) { if (file == null) { throw new ArgumentNullException(nameof(file)); } ReplayPreview previewModel = new ReplayPreview(file.ReplayFile, file.FileInfo.CreationTime, SettingsManager.Settings.PlayerMarkerStyle, SettingsManager.Settings.RenameAction, file.IsNewFile); previewModel.IsSupported = SettingsManager.Executables.DoesVersionExist(previewModel.GameVersion); foreach (var bluePlayer in previewModel.BluePreviewPlayers) { bluePlayer.Marker = KnownPlayers.FirstOrDefault(x => x.Name.Equals(bluePlayer.PlayerName, StringComparison.OrdinalIgnoreCase)); } foreach (var redPlayer in previewModel.RedPreviewPlayers) { redPlayer.Marker = KnownPlayers.FirstOrDefault(x => x.Name.Equals(redPlayer.PlayerName, StringComparison.OrdinalIgnoreCase)); } return(previewModel); }