Add additional MultiBrush segments for RA and CnC

Adds MultiBrush definitions for River (RA and CnC) and WaterCliff (RA
only), allowing them to be tiled with the Path Tiling tool.

A small enhancement to the MultiBrush and TilingPathTool code is added
to allow the inner type to be derived from start and end types. This
allows segments that interface between types (such as WaterCliff to
Beach) to be usable when tiling either WaterCliffs or Beach. Whilst
this makes the inner types of many of the existing MultiBrushes
redundant, no simplification is performed as part of this change.
This commit is contained in:
Ashley Newson
2025-05-17 02:12:12 +01:00
committed by Gustas Kažukauskas
parent ba444de014
commit daf36769d6
9 changed files with 2084 additions and 3 deletions

View File

@@ -358,7 +358,10 @@ namespace OpenRA.Mods.Common.Traits
InnerTypes = SegmentedBrushes
.Where(b => b.Segment != null)
.Select(b => b.Segment.Inner.Split('.')[0])
.SelectMany<MultiBrush, string>(b =>
b.Segment.Inner != null
? [b.Segment.Inner.Split('.')[0]]
: [b.Segment.Start.Split('.')[0], b.Segment.End.Split('.')[0]])
.Distinct()
.Order()
.ToImmutableArray();