Namespace MoonBark.GridPlacement.Core.Data.Placement
Classes
- CorePlacementRuleData
Core placement rule data without Godot dependencies.
- CoreTileData
Pure C# representation of tile custom data properties. Used by Core rules and YAML loaders — no Godot dependencies.
- FootprintData
Core footprint data without Godot dependencies. Describes the space occupied by a building or object.
- IndicatorCalculationResult
Result of indicator calculation containing placement positions and validity data. This is a pure Core DTO that can be used without Godot dependencies.
- PlacementData
Core placement data without Godot dependencies. Contains all information needed for placement calculations.
- PlacementRequirements
Placement requirements for a building.
- PlacementRuleData
Data structure for placement validation rules Pure C# implementation without Godot dependencies
- PreviewCalculationResult
Result of preview calculation containing footprint and visual data. This is a pure Core DTO that can be used without Godot dependencies.
- PreviewShapeData
Shape configuration data for preview rendering.
- ResourceCost
Resource cost data for building placement.
- TileDataCheckRuleCore
Pure C# placement rule that validates tile custom data properties.
Evaluates whether a tile's custom data layers match the expected values. For example: verify a tile has
growable == truebefore allowing crop placement.This is the Core counterpart to MoonBark.GridPlacement.Godot.Placement.PlacementRules.TileDataCheckRuleDefinition (Godot-side). It contains no Godot dependencies and is fully testable in xunit.
Strict equality rules for comparison:
1 != true— int vs bool always fails1 != 1.0— int vs float always failstrue != false— same type, different value fails
Structs
- OccupantData
Implementation of occupant data for grid positions. Refactored to a readonly struct to prevent GC allocations across frequent grid querying loops.
Interfaces
- IResourceProvider
Interface for providing resource information.
Enums
- FootprintShapeType
Types of footprint shapes.
- PlacementRuleType
Types of placement rules.
- PreviewShapeType
Types of preview shapes that can be rendered.