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