Skip to content

Commit

Permalink
Merge branch 'main' into docker
Browse files Browse the repository at this point in the history
  • Loading branch information
Oliveriver authored Sep 20, 2024
2 parents 9742e7d + 0504ea7 commit a790b42
Show file tree
Hide file tree
Showing 4 changed files with 11 additions and 9 deletions.
4 changes: 2 additions & 2 deletions server/.editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,8 @@ dotnet_style_require_accessibility_modifiers = for_non_interface_members:error
dotnet_style_allow_multiple_blank_lines_experimental = false:error
dotnet_style_allow_statement_immediately_after_block_experimental = false:error
dotnet_code_quality_unused_parameters = all:error
dotnet_style_parentheses_in_arithmetic_binary_operators = always_for_clarity:error
dotnet_style_parentheses_in_relational_binary_operators = always_for_clarity:error
dotnet_style_parentheses_in_arithmetic_binary_operators = never_if_unnecessary:error
dotnet_style_parentheses_in_relational_binary_operators = never_if_unnecessary:error
dotnet_style_parentheses_in_other_binary_operators = never_if_unnecessary:error
dotnet_style_parentheses_in_other_operators = never_if_unnecessary:error
dotnet_style_qualification_for_field = false:error
Expand Down
2 changes: 1 addition & 1 deletion server/Adjudication/Execution/Executor.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ public class Executor(World world, List<Region> regions)
private readonly List<Unit> originalRetreatingUnits = world.Boards.SelectMany(b => b.Units).Where(u => u!.MustRetreat).ToList();

private readonly List<Region> regions = regions;
private readonly MapComparer mapComparer = new();
private readonly MapComparer mapComparer = new(world.Orders.OfType<Build>().ToList());

public void ExecuteOrders()
{
Expand Down
12 changes: 7 additions & 5 deletions server/Adjudication/Execution/MapComparer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,13 @@

namespace Adjudication;

public class MapComparer : EqualityComparer<Board>
public class MapComparer(List<Build> builds) : EqualityComparer<Board>
{
private readonly CentreComparer centreComparer = new();
private readonly UnitComparer unitComparer = new();

private readonly List<Build> builds = builds;

public override bool Equals(Board? x, Board? y)
{
if (x == null || y == null)
Expand All @@ -24,10 +26,10 @@ public override bool Equals(Board? x, Board? y)
return false;
}

var hasMatchingUnits = x.Units
.OrderBy(u => u.Location.RegionId)
.SequenceEqual(y.Units.OrderBy(u => u.Location.RegionId),
unitComparer);
var xUnits = x.Units.Where(u => !builds.Any(b => b.Unit == u)).OrderBy(u => u.Location.RegionId);
var yUnits = y.Units.Where(u => !builds.Any(b => b.Unit == u)).OrderBy(u => u.Location.RegionId);

var hasMatchingUnits = xUnits.SequenceEqual(yUnits, unitComparer);

return hasMatchingUnits;
}
Expand Down
2 changes: 1 addition & 1 deletion server/Adjudication/Validation/ConvoyPathValidator.cs
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@ private class DepthFirstConvoySearch(List<Convoy> convoys, AdjacencyValidator ad

public List<Convoy> GetPossibleConvoys(Unit unit, Location location, Location destination)
{
if (adjacencyValidator.IsValidDirectMove(unit, location, destination))
if (adjacencyValidator.IsValidDirectMove(unit, location, destination, allowDestinationChild: true))
{
if (location == convoys.FirstOrDefault()?.Midpoint)
{
Expand Down

0 comments on commit a790b42

Please sign in to comment.