PlaceableCollection

PlaceableCollection

Data structure for YAML/JSON placeable configuration files. Supports hierarchical organization, inheritance, and metadata.

Project: GridPlacement v6.0
Layer: Core
Source: Core/Systems/Data/PlaceableCollection.cs
Namespace: GridBuilding.Core.Systems.Data
Kind: class

Parsing Method: AST-based (Roslyn) - NOT regex

⚠️ IMPORTANT: This documentation was generated using AST parsing, not regex.

Properties

Version

Metadata

Categories

Inheritance

Inheritance configuration for this collection

Extends

Methods

GetPlaceable

Gets a placeable by ID with inheritance support

Returns: IPlaceable?

Parameters:

  • string id

GetPlaceablesByTag

Gets all placeables with a specific tag

Returns: IEnumerable<IPlaceable>

Parameters:

  • string tag

GetPlaceablesInCategory

Gets all placeables in a category

Returns: IEnumerable<IPlaceable>

Parameters:

  • string categoryId

GetAllPlaceables

Gets all placeables across all categories

Returns: IEnumerable<IPlaceable>

AddPlaceable

Adds a placeable to a category, creating the category if needed

Returns: void

Parameters:

  • string categoryId
  • IPlaceable placeable

GetPlaceableCategory

Gets the category ID for a placeable

Returns: string?

Parameters:

  • string placeableId

HasPlaceable

Checks if a placeable exists in the collection

Returns: bool

Parameters:

  • string placeableId

Validate

Validates the collection structure and references

Returns: List<string>