Skip to content

Commit 0460ade

Browse files
committed
Fix eval of multiple FIOS\LIOS
1 parent 8fb88f3 commit 0460ade

File tree

1 file changed

+4
-5
lines changed

1 file changed

+4
-5
lines changed

src/IronyModManager.Services/ModBaseService.cs

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
// Created : 04-07-2020
55
//
66
// Last Modified By : Mario
7-
// Last Modified On : 03-04-2024
7+
// Last Modified On : 01-20-2025
88
// ***********************************************************************
99
// <copyright file="ModBaseService.cs" company="Mario">
1010
// Mario
@@ -382,7 +382,7 @@ protected virtual IPriorityDefinitionResult EvalDefinitionPriorityInternal(IEnum
382382
// Using FIOS or LIOS?
383383
case > 1 when isFios:
384384
{
385-
var ordered = uniqueDefinitions.OrderBy(p => Path.GetFileNameWithoutExtension(p.FileName), StringComparer.Ordinal);
385+
var ordered = uniqueDefinitions.GroupBy(p => p.FileName).Select(p => p.LastOrDefault()).OrderBy(p => Path.GetFileNameWithoutExtension(p?.FileName), StringComparer.Ordinal);
386386
var definition = ordered.First();
387387
result.Definition = definition.Definition;
388388
result.FileName = definition.FileName;
@@ -392,7 +392,7 @@ protected virtual IPriorityDefinitionResult EvalDefinitionPriorityInternal(IEnum
392392
}
393393
case > 1:
394394
{
395-
var ordered = uniqueDefinitions.OrderBy(p => Path.GetFileNameWithoutExtension(p.FileName), StringComparer.Ordinal);
395+
var ordered = uniqueDefinitions.GroupBy(p => p.FileName).Select(p => p.LastOrDefault()).OrderBy(p => Path.GetFileNameWithoutExtension(p?.FileName), StringComparer.Ordinal);
396396
var definition = ordered.Last();
397397
result.Definition = definition.Definition;
398398
result.FileName = definition.FileName;
@@ -581,8 +581,7 @@ protected virtual IEnumerable<IMod> GetInstalledModsInternal(string game, bool i
581581
/// <param name="game">The game.</param>
582582
/// <param name="ignorePatchMods">if set to <c>true</c> [ignore patch mods].</param>
583583
/// <returns>IEnumerable&lt;IMod&gt;.</returns>
584-
/// <exception cref="ArgumentNullException">nameof(game)</exception>
585-
/// <exception cref="System.ArgumentNullException">game</exception>
584+
/// <exception cref="System.ArgumentNullException"></exception>
586585
protected virtual IEnumerable<IMod> GetInstalledModsInternal(IGame game, bool ignorePatchMods)
587586
{
588587
ArgumentNullException.ThrowIfNull(game);

0 commit comments

Comments
 (0)