From 7af5f90e30c799325a423bc17af2df02d8c99cc9 Mon Sep 17 00:00:00 2001 From: Brett Hewitson Date: Thu, 16 Dec 2021 00:57:01 +1000 Subject: [PATCH] Removal of ToList() --- src/ARKServerManager/Lib/GameData.cs | 20 ++++++------- src/ARKServerManager/Lib/Model/NPCSpawner.cs | 1 - src/ARKServerManager/Lib/ServerApp.cs | 4 +-- src/ARKServerManager/Lib/ServerProfile.cs | 4 +-- .../Lib/ServerProfileSnapshot.cs | 2 +- .../ServerSettingsControl.xaml.cs | 29 ++++++++++++------- src/ARKServerManager/Utils/ModUtils.cs | 22 +++++++------- src/ArkData/DataContainerBase.cs | 2 +- src/ConanServerManager/Lib/ServerApp.cs | 4 +-- .../Model/PlayerUserList.cs | 2 +- 10 files changed, 48 insertions(+), 42 deletions(-) diff --git a/src/ARKServerManager/Lib/GameData.cs b/src/ARKServerManager/Lib/GameData.cs index 2f0117fe..a904a434 100644 --- a/src/ARKServerManager/Lib/GameData.cs +++ b/src/ARKServerManager/Lib/GameData.cs @@ -52,7 +52,7 @@ namespace ServerManagerTool.Lib items = gameData.Items.ConvertAll(item => new PrimalItem { ClassName = item.ClassName, Mod = item.Mod, KnownItem = true, Category = item.Category }).ToArray(); // resources - resourceMultipliers = gameData.Items.Where(item => item.IsHarvestable).ToList().ConvertAll(item => new ResourceClassMultiplier { ClassName = item.ClassName, Mod = item.Mod, KnownResource = true }).ToArray(); + resourceMultipliers = gameData.Items.Where(item => item.IsHarvestable).Select(item => new ResourceClassMultiplier { ClassName = item.ClassName, Mod = item.Mod, KnownResource = true }).ToArray(); // map spawners gameData.MapSpawners.AddRange(userGameData.MapSpawners); @@ -77,9 +77,9 @@ namespace ServerManagerTool.Lib if (gameData.GameMaps.Count > 0) { var maps1 = gameMaps.ToList(); - maps1.AddRange(gameData.GameMaps.Where(item => !item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); + maps1.AddRange(gameData.GameMaps.Where(item => !item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); var maps2 = gameMapsSotF.ToList(); - maps2.AddRange(gameData.GameMaps.Where(item => item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); + maps2.AddRange(gameData.GameMaps.Where(item => item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); gameMaps = maps1.ToArray(); gameMapsSotF = maps2.ToArray(); @@ -91,9 +91,9 @@ namespace ServerManagerTool.Lib if (gameData.TotalConversions.Count > 0) { var mods1 = totalConversions.ToList(); - mods1.AddRange(gameData.TotalConversions.Where(item => !item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); + mods1.AddRange(gameData.TotalConversions.Where(item => !item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); var mods2 = totalConversionsSotF.ToList(); - mods2.AddRange(gameData.TotalConversions.Where(item => item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); + mods2.AddRange(gameData.TotalConversions.Where(item => item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.ClassName, DisplayMember = item.Description })); totalConversions = mods1.ToArray(); totalConversionsSotF = mods2.ToArray(); @@ -130,9 +130,9 @@ namespace ServerManagerTool.Lib if (gameData.Branches.Count > 0) { var branches1 = branches.ToList(); - branches1.AddRange(gameData.Branches.Where(item => !item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.BranchName, DisplayMember = item.Description })); + branches1.AddRange(gameData.Branches.Where(item => !item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.BranchName, DisplayMember = item.Description })); var branches2 = branchesSotF.ToList(); - branches2.AddRange(gameData.Branches.Where(item => item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.BranchName, DisplayMember = item.Description })); + branches2.AddRange(gameData.Branches.Where(item => item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.BranchName, DisplayMember = item.Description })); branches = branches1.ToArray(); branchesSotF = branches2.ToArray(); @@ -144,9 +144,9 @@ namespace ServerManagerTool.Lib if (gameData.Events.Count > 0) { var events1 = events.ToList(); - events1.AddRange(gameData.Events.Where(item => !item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.EventName, DisplayMember = item.Description })); + events1.AddRange(gameData.Events.Where(item => !item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.EventName, DisplayMember = item.Description })); var events2 = eventsSotF.ToList(); - events2.AddRange(gameData.Events.Where(item => item.IsSotF).ToList().ConvertAll(item => new ComboBoxItem { ValueMember = item.EventName, DisplayMember = item.Description })); + events2.AddRange(gameData.Events.Where(item => item.IsSotF).Select(item => new ComboBoxItem { ValueMember = item.EventName, DisplayMember = item.Description })); events = events1.ToArray(); eventsSotF = events2.ToArray(); @@ -157,7 +157,7 @@ namespace ServerManagerTool.Lib if (gameData.OfficialMods.Count > 0) { - ModUtils.AddOfficialMods(gameData.OfficialMods.Where(m => !string.IsNullOrWhiteSpace(m.ModId)).Select(m => m.ModId)); + ModUtils.AddOfficialMods(gameData.OfficialMods.Where(m => !string.IsNullOrWhiteSpace(m.ModId)).Select(m => m.ModId).ToList()); } } diff --git a/src/ARKServerManager/Lib/Model/NPCSpawner.cs b/src/ARKServerManager/Lib/Model/NPCSpawner.cs index 61922efc..5784f182 100644 --- a/src/ARKServerManager/Lib/Model/NPCSpawner.cs +++ b/src/ARKServerManager/Lib/Model/NPCSpawner.cs @@ -6,7 +6,6 @@ using ServerManagerTool.Enums; using ServerManagerTool.Interface; using System; using System.Collections.Generic; -using System.ComponentModel; using System.Linq; using System.Runtime.Serialization; using System.Text; diff --git a/src/ARKServerManager/Lib/ServerApp.cs b/src/ARKServerManager/Lib/ServerApp.cs index c4bfbaa6..a2715ef4 100644 --- a/src/ARKServerManager/Lib/ServerApp.cs +++ b/src/ARKServerManager/Lib/ServerApp.cs @@ -452,8 +452,8 @@ namespace ServerManagerTool.Lib { try { - var playerInfo = gameServer?.GetPlayers()?.Where(p => !string.IsNullOrWhiteSpace(p.Name?.Trim())).ToList(); - var playerCount = playerInfo?.Count ?? -1; + var playerInfo = gameServer?.GetPlayers()?.Where(p => !string.IsNullOrWhiteSpace(p.Name?.Trim())); + var playerCount = playerInfo?.Count() ?? -1; // check if anyone is logged into the server if (playerCount <= 0) diff --git a/src/ARKServerManager/Lib/ServerProfile.cs b/src/ARKServerManager/Lib/ServerProfile.cs index e931cb17..62a4f416 100644 --- a/src/ARKServerManager/Lib/ServerProfile.cs +++ b/src/ARKServerManager/Lib/ServerProfile.cs @@ -4978,7 +4978,7 @@ namespace ServerManagerTool.Lib var csvMapper = new CsvDinoLevelMapping(); var csvParser = new CsvParser(csvParserOptions, csvMapper); - var result = csvParser.ReadFromFile(fileName, Encoding.ASCII).ToList(); + var result = csvParser.ReadFromFile(fileName, Encoding.ASCII); if (result.Any(r => !r.IsValid)) { var error = result.First(r => r.Error != null); @@ -5005,7 +5005,7 @@ namespace ServerManagerTool.Lib var csvMapper = new CsvPlayerLevelMapping(); var csvParser = new CsvParser(csvParserOptions, csvMapper); - var result = csvParser.ReadFromFile(fileName, Encoding.ASCII).ToList(); + var result = csvParser.ReadFromFile(fileName, Encoding.ASCII); if (result.Any(r => !r.IsValid)) { var error = result.First(r => r.Error != null); diff --git a/src/ARKServerManager/Lib/ServerProfileSnapshot.cs b/src/ARKServerManager/Lib/ServerProfileSnapshot.cs index 0d2238ec..2a02fbe2 100644 --- a/src/ARKServerManager/Lib/ServerProfileSnapshot.cs +++ b/src/ARKServerManager/Lib/ServerProfileSnapshot.cs @@ -29,7 +29,7 @@ namespace ServerManagerTool.Lib public string ServerMap; public string ServerMapModId; public string TotalConversionModId; - public List ServerModIds; + public IEnumerable ServerModIds; public string MOTD; public int MotDDuration; public bool MOTDIntervalEnabled; diff --git a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs index 7b16ebcb..f5620ddb 100644 --- a/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs +++ b/src/ARKServerManager/UserControls/ServerSettingsControl.xaml.cs @@ -1406,7 +1406,8 @@ namespace ServerManagerTool { Settings.DinoSettings.RenderToModel(); - var iniValues = Settings.DinoSpawnWeightMultipliers.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.DinoSpawnWeightMultipliers.ToIniValues()); iniValues.AddRange(Settings.PreventDinoTameClassNames.ToIniValues()); iniValues.AddRange(Settings.NPCReplacements.ToIniValues()); iniValues.AddRange(Settings.DinoClassDamageMultipliers.ToIniValues()); @@ -1487,7 +1488,7 @@ namespace ServerManagerTool private void SaveCustomResources_Click(object sender, RoutedEventArgs e) { - var iniValues = Settings.HarvestResourceItemAmountClassMultipliers.ToIniValues().ToList(); + var iniValues = Settings.HarvestResourceItemAmountClassMultipliers.ToIniValues(); var iniValue = string.Join("\r\n", iniValues); var window = new CommandLineWindow(iniValue); @@ -1716,7 +1717,8 @@ namespace ServerManagerTool Settings.EngramSettings.OnlyAllowSpecifiedEngrams = Settings.OnlyAllowSpecifiedEngrams; Settings.EngramSettings.RenderToModel(); - var iniValues = Settings.OverrideNamedEngramEntries.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.OverrideNamedEngramEntries.ToIniValues()); iniValues.AddRange(Settings.EngramEntryAutoUnlocks.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); @@ -1822,7 +1824,8 @@ namespace ServerManagerTool private void SaveCraftingOverride_Click(object sender, RoutedEventArgs e) { - var iniValues = Settings.ConfigOverrideItemCraftingCosts.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.ConfigOverrideItemCraftingCosts.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); var window = new CommandLineWindow(iniValue); @@ -2966,7 +2969,8 @@ namespace ServerManagerTool { Settings.NPCSpawnSettings.RenderToModel(); - var iniValues = Settings.ConfigAddNPCSpawnEntriesContainer.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.ConfigAddNPCSpawnEntriesContainer.ToIniValues()); iniValues.AddRange(Settings.ConfigSubtractNPCSpawnEntriesContainer.ToIniValues()); iniValues.AddRange(Settings.ConfigOverrideNPCSpawnEntriesContainer.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); @@ -3199,7 +3203,8 @@ namespace ServerManagerTool { Settings.ConfigOverrideSupplyCrateItems.RenderToModel(); - var iniValues = Settings.ConfigOverrideSupplyCrateItems.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.ConfigOverrideSupplyCrateItems.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); var window = new CommandLineWindow(iniValue); @@ -3301,7 +3306,8 @@ namespace ServerManagerTool { Settings.ConfigOverrideItemMaxQuantity.RenderToModel(); - var iniValues = Settings.ConfigOverrideItemMaxQuantity.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.ConfigOverrideItemMaxQuantity.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); var window = new CommandLineWindow(iniValue); @@ -3401,7 +3407,8 @@ namespace ServerManagerTool { Settings.PreventTransferForClassNames.RenderToModel(); - var iniValues = Settings.PreventTransferForClassNames.ToIniValues().ToList(); + var iniValues = new List(); + iniValues.AddRange(Settings.PreventTransferForClassNames.ToIniValues()); var iniValue = string.Join("\r\n", iniValues); var window = new CommandLineWindow(iniValue); @@ -3442,7 +3449,7 @@ namespace ServerManagerTool var name = _globalizer.GetResourceString($"Mod_{value}"); newList.Add(new Common.Model.ComboBoxItem(value, name)); - var values = GameData.GetDinoSpawns().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key).ToList(); + var values = GameData.GetDinoSpawns().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key); foreach (var modValue in values) { if (string.IsNullOrWhiteSpace(modValue)) @@ -3472,7 +3479,7 @@ namespace ServerManagerTool var name = _globalizer.GetResourceString($"Mod_{value}"); newList.Add(new Common.Model.ComboBoxItem(value, name)); - var values = GameData.GetEngrams().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key).ToList(); + var values = GameData.GetEngrams().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key); foreach (var modValue in values) { if (string.IsNullOrWhiteSpace(modValue)) @@ -3502,7 +3509,7 @@ namespace ServerManagerTool var name = _globalizer.GetResourceString($"Mod_{value}"); newList.Add(new Common.Model.ComboBoxItem(value, name)); - var values = GameData.GetResourceMultipliers().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key).ToList(); + var values = GameData.GetResourceMultipliers().GroupBy(d => d.Mod).OrderBy(g => g.Key).Select(g => g.Key); foreach (var modValue in values) { if (string.IsNullOrWhiteSpace(modValue)) diff --git a/src/ARKServerManager/Utils/ModUtils.cs b/src/ARKServerManager/Utils/ModUtils.cs index 54e22ef3..9ab371fe 100644 --- a/src/ARKServerManager/Utils/ModUtils.cs +++ b/src/ARKServerManager/Utils/ModUtils.cs @@ -46,15 +46,15 @@ namespace ServerManagerTool.Utils } } - public static void AddOfficialMods(IEnumerable modIds) + public static void AddOfficialMods(List modIds) { if (OfficialMods == null) OfficialMods = new List(); if (modIds != null) { - var modIdsToAdd = modIds.Where(m => !string.IsNullOrWhiteSpace(m) && !OfficialMods.Contains(m)).Distinct().ToList(); - if (modIdsToAdd != null && modIdsToAdd.Count > 0) + var modIdsToAdd = modIds.Where(m => !string.IsNullOrWhiteSpace(m) && !OfficialMods.Contains(m)).Distinct(); + if (modIdsToAdd.Any()) { OfficialMods.AddRange(modIdsToAdd); } @@ -170,14 +170,14 @@ namespace ServerManagerTool.Utils return string.Empty; // split the map string into parts, using the '/' separator. - var parts = serverMap.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + var parts = serverMap.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); long mapModId; - if (parts.Count == 1 && long.TryParse(parts[0], out mapModId)) + if (parts.Length == 1 && long.TryParse(parts[0], out mapModId)) return mapModId.ToString(); // check if any parts were returned. - if (parts.Count != 4) + if (parts.Length != 4) return string.Empty; // check if the first two parts match what is expected. @@ -194,12 +194,12 @@ namespace ServerManagerTool.Utils return string.Empty; // split the map string into parts, using the '/' separator. - var parts = serverMap.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries).ToList(); + var parts = serverMap.Split(new[] { '/' }, StringSplitOptions.RemoveEmptyEntries); // check if any parts were returned. - if (parts.Count == 1) + if (parts.Length == 1) return serverMap; - if (parts.Count != 4) + if (parts.Length != 4) return string.Empty; // check if the first two parts match what is expected. @@ -496,9 +496,9 @@ namespace ServerManagerTool.Utils return new List(); // remove all null, empty, duplicate and Official mod ids. - var newModIdList = modIdList.Where(m => !string.IsNullOrWhiteSpace(m) && !IsOfficialMod(m)).Distinct().ToList(); + var newModIdList = modIdList.Where(m => !string.IsNullOrWhiteSpace(m) && !IsOfficialMod(m)).Distinct(); - return newModIdList; + return newModIdList.ToList(); } public static void WriteModFile(string fileName, string modId, Dictionary metaInformation, List mapNames) diff --git a/src/ArkData/DataContainerBase.cs b/src/ArkData/DataContainerBase.cs index 0588c13c..99525a09 100644 --- a/src/ArkData/DataContainerBase.cs +++ b/src/ArkData/DataContainerBase.cs @@ -45,7 +45,7 @@ namespace ArkData { try { - var online = Enumerable.OfType(new SSQL().Players(new IPEndPoint(IPAddress.Parse(ipString), port))).ToList(); + var online = Enumerable.OfType(new SSQL().Players(new IPEndPoint(IPAddress.Parse(ipString), port))); for (var i = 0; i < Players.Count; i++) { diff --git a/src/ConanServerManager/Lib/ServerApp.cs b/src/ConanServerManager/Lib/ServerApp.cs index 20ed7c28..acfdd0e3 100644 --- a/src/ConanServerManager/Lib/ServerApp.cs +++ b/src/ConanServerManager/Lib/ServerApp.cs @@ -456,8 +456,8 @@ namespace ServerManagerTool.Lib // BH - commented out until Funcom fix the Online player status column in the world save database //var gameFile = GetServerWorldFile(); //var playerCount = DataContainer.GetOnlinePlayerCount(gameFile); - var playerInfo = gameServer?.GetPlayers()?.Where(p => !string.IsNullOrWhiteSpace(p.Name?.Trim())).ToList(); - var playerCount = playerInfo?.Count ?? -1; + var playerInfo = gameServer?.GetPlayers()?.Where(p => !string.IsNullOrWhiteSpace(p.Name?.Trim())); + var playerCount = playerInfo?.Count() ?? -1; // check if anyone is logged into the server if (playerCount <= 0) diff --git a/src/ServerManager.Common/Model/PlayerUserList.cs b/src/ServerManager.Common/Model/PlayerUserList.cs index 19d9e9fa..fadb48b6 100644 --- a/src/ServerManager.Common/Model/PlayerUserList.cs +++ b/src/ServerManager.Common/Model/PlayerUserList.cs @@ -23,7 +23,7 @@ namespace ServerManagerTool.Common.Model } } - public static PlayerUserList GetList(SteamUserDetailResponse response, string[] ids) + public static PlayerUserList GetList(SteamUserDetailResponse response, IEnumerable ids) { var result = new PlayerUserList(); if (ids != null)