Zum Hauptinhalt springen

BlueprintSeedData

Namespace: Meshmakers.Octo.ConstructionKit.Contracts.BlueprintCatalogs

Resolves the seed-data files a blueprint declares. A blueprint may either name a single file in BlueprintMetaRootDto.SeedDataPath (the original form) or split its seed across several files and folders via BlueprintMetaRootDto.SeedDataPaths (AB#4758). Both the runtime (BlueprintService) and the authoring tooling (BlueprintCompilerService / octo-bpm) go through this helper so they can never disagree about which files make up a blueprint's seed.

public static class BlueprintSeedData

Inheritance Object → BlueprintSeedData

Methods​

ResolvePaths(BlueprintMetaRootDto)​

Returns the effective, de-duplicated list of seed-data file paths of a blueprint, in load order: the single BlueprintMetaRootDto.SeedDataPath first (when set), followed by BlueprintMetaRootDto.SeedDataPaths. Paths are returned in their normalised forward-slash form. Blank entries are dropped; a blueprint without any seed data yields an empty list.

public static IReadOnlyList<string> ResolvePaths(BlueprintMetaRootDto blueprintMeta)

Parameters​

blueprintMeta BlueprintMetaRootDto

Returns​

IReadOnlyList<String>

Remarks:

Both properties are honoured rather than treating them as mutually exclusive: silently ignoring one of them would drop entities from the install without any signal. BlueprintCompilerService.ValidateAsync warns when a blueprint uses both forms.

Normalise(String)​

Normalises a blueprint-relative path to the forward-slash form used as the key for de-duplication and for the catalog lookup. This deliberately does not reject traversal paths — that is BlueprintRelativePath.Validate(String)'s job at open time.

public static string Normalise(string path)

Parameters​

path String

Returns​

String