Table of Contents

Namespace MoonBark.GridPlacement.Core.Data

Classes

BuildActionData

Core POCS implementation of BuildActionData for state management. Contains data about a build action for signal emission.

Ported from: godot/addons/grid_building/shared/data/build_action_data.gd

CollisionData

Collision data for placeables

GridConfiguration

Domain model encapsulating standardized grid boundaries and bounds validation.

IndicatorSetupReport

Core POCS implementation of IndicatorSetupReport for state management. Report containing diagnostic information from indicator setup operations.

Ported from: godot/addons/grid_building/systems/placement/managers/indicator_setup_report.gd

InputEventData

Input event data for manipulation system

PlaceableCategory

Category definitions for placeables using string identifiers.

Categories are string-based rather than enum to allow: - Runtime category creation - Game-specific customization - Mod support without code changes - Localization-friendly category names

Common category examples (games should define their own): - "building", "decoration", "utility", "resource" - "residential", "commercial", "industrial" - "infrastructure", "nature", "entertainment"

PlaceableCategory.Common

Common category names that many games might use Games should define their own categories and not rely on these defaults

PlaceableCollection

Collection of placeable objects

PlaceableVariant

Represents a visual variant of a placeable object.

Variants allow the same placeable to have multiple visual representations while sharing the same core gameplay logic and properties. This is useful for:

  • Seasonal appearances (winter/summer versions)
  • Upgrade tiers (level 1, 2, 3 visual states)
  • CoreColor schemes or material variations
  • Damage states (pristine, damaged, ruined)

Each variant can have its own scene file, display name, and custom properties while maintaining the same core placeable behavior.

PlacementData

Core placement data class Pure C# implementation without Godot dependencies

PlacementRequirements

Requirements for placing a placeable

PlacementSnapshot

Immutable snapshot data for placement operations

TargetingMapReport

Compatibility DTO for targeting map updates used by workflow adapters.

Interfaces

IPlaceableCollection

Interface for managing collections of placeable objects. Provides abstraction for placeable data management and operations.

Enums

BuildingType

Building type enumeration

InputEventType

Input event types

MouseButton

Mouse buttons