Extension helper methods for ArchPlan in the editor. Provides FindBridge to locate a bridge part by id across all roads, and RoadCarrying to find the road that contains a given bridge part.
using System.Linq;
namespace Sunless.Architecture;
public static class ArchPlanBridges
{
public static ArchBridgePart FindBridge( this ArchPlan plan, int id ) =>
plan.Roads().SelectMany( road => road.Bridges ).FirstOrDefault( bridge => bridge.Id == id );
public static ArchRoadPart RoadCarrying( this ArchPlan plan, ArchBridgePart bridge ) =>
plan.Roads().FirstOrDefault( road => road.Bridges.Contains( bridge ) );
}