Avoid duplicates in the mod list
This commit is contained in:
@@ -1,5 +1,4 @@
|
|||||||
using System.Reflection.Emit;
|
using System.Reflection.Emit;
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using HarmonyLib;
|
using HarmonyLib;
|
||||||
using Sandbox.Definitions;
|
using Sandbox.Definitions;
|
||||||
using Sandbox.Engine.Networking;
|
using Sandbox.Engine.Networking;
|
||||||
@@ -94,10 +93,21 @@ internal static class ModInjector
|
|||||||
private static void AppendToList(ref List<MyObjectBuilder_Checkpoint.ModItem> mods)
|
private static void AppendToList(ref List<MyObjectBuilder_Checkpoint.ModItem> mods)
|
||||||
{
|
{
|
||||||
// copy
|
// copy
|
||||||
mods = mods.ToList();
|
mods = [.. mods];
|
||||||
|
|
||||||
mods.AddRange(AdditionalFilledModItems.Count > 0
|
if (AdditionalFilledModItems.Count > 0)
|
||||||
? AdditionalFilledModItems
|
{
|
||||||
: Mods.Select(mod => new MyObjectBuilder_Checkpoint.ModItem(mod, "Steam")));
|
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