Table of Contents

Namespace MoonBark.GridPlacement.Core.Catalog

Classes

CatalogLoadConfig

Configuration for catalog loading sources.

CatalogLoadResult

Result of a catalog load operation.

CatalogMergeResult

Result of a catalog merge operation.

CategoricalTagEntry

Engine-agnostic categorical tag used to classify placeable entries and sequences.

PlaceableCatalog

Default implementation of IPlaceableCatalog. Manages a collection of placeables and sequences. Pure C# with no Godot dependencies.

PlaceableCatalogBootstrap

Helper to seed a IPlaceableCatalog with a minimal set of default entries. This is primarily for demos and quick-start scenarios; production games are expected to provide their own catalog population.

PlaceableCollectionConverter

Converts PlaceableCollection data structures to runtime Placeable objects. Bridges the gap between YAML/JSON configuration and the runtime catalog.

PlaceableEntry

Represents a single placeable item exposed through IPlaceableCatalog and PlaceableSequence. This is a pure C# data type with no engine dependencies.

PlaceableIdGenerator

Utility class for generating stable, deterministic IDs for placeables. Extracts ID generation logic from Godot Placeable resources.

PlaceableResourceFolders

Normalized folder layout used by placeable selection UIs and loaders.

PlaceableRuntimeCatalog

Default implementation of IPlaceableRuntimeCatalog. Manages a collection of runtime placeable data. Pure C# with no Godot dependencies.

PlaceableSequence

Represents an ordered sequence of placeables, typically used as an upgrade path where each tier is a distinct PlaceableEntry.

PlaceableValidationResult

Result of a placeable validation operation.

PlaceableValidator

Utility class for validating placeable objects. Extracts validation logic from multiple classes into a single utility.

UnifiedCatalogLoader

Unified loader for placeable catalogs from multiple sources. Provides a single entry point for loading from various engine resources and configuration files.

Interfaces

IPlaceableCatalog

Service interface for managing available placeables. Pure C# contract with no Godot dependencies.

IPlaceableLoader

Interface for loading placeable resources from various sources. Abstracts engine-specific loading logic from Core catalog system. Implementations can be provided for Godot, Unity, or other engines.

IPlaceableRuntimeCatalog

Service interface for managing runtime placeable data. Stores full Placeable objects for use by placement systems and ECS. Pure C# contract with no Godot dependencies.

Enums

CatalogMergeStrategy

Strategy for merging placeables from multiple sources.

CatalogSourceType

Type of catalog source.

PlaceableValidationRule

Validation rules for placeables.