Avoid duplicates in the mod list
This commit is contained in:
@@ -1,5 +1,4 @@
|
||||
using System.Reflection.Emit;
|
||||
using System.Runtime.CompilerServices;
|
||||
using HarmonyLib;
|
||||
using Sandbox.Definitions;
|
||||
using Sandbox.Engine.Networking;
|
||||
@@ -94,10 +93,21 @@ internal static class ModInjector
|
||||
private static void AppendToList(ref List<MyObjectBuilder_Checkpoint.ModItem> mods)
|
||||
{
|
||||
// copy
|
||||
mods = mods.ToList();
|
||||
mods = [.. mods];
|
||||
|
||||
mods.AddRange(AdditionalFilledModItems.Count > 0
|
||||
? AdditionalFilledModItems
|
||||
: Mods.Select(mod => new MyObjectBuilder_Checkpoint.ModItem(mod, "Steam")));
|
||||
if (AdditionalFilledModItems.Count > 0)
|
||||
{
|
||||
mods.AddRange(AdditionalFilledModItems);
|
||||
return;
|
||||
}
|
||||
|
||||
foreach (var mod in Mods)
|
||||
{
|
||||
//avoid duplicates
|
||||
if (mods.FindIndex(m => m.PublishedFileId == mod) != -1)
|
||||
continue;
|
||||
|
||||
mods.Add(new MyObjectBuilder_Checkpoint.ModItem(mod, "Steam"));
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user