IPlaceable
AUTO-GENERATED FILE – DO NOT EDIT MANUALLY
This page documents the supported public API surface only. Private, internal, benchmark, test, and implementation-detail types are intentionally omitted.
Declaration
Summary
Common interface for all placeable implementations.
Provides a contract that both engine-agnostic (POCS) and engine-specific implementations must follow, enabling interchangeability while maintaining clean separation between core logic and engine-specific functionality.
Implementation pattern: - Core.Placeable: Pure C# implementation for UI and logic - Godot.GodotPlaceableWrapper: Wraps core + adds Godot-specific methods - Future engines can add their own wrappers
Metadata
Namespace: GridPlacement.Core.Interfaces
Source File: cs/Core/Interfaces/IPlaceable.cs
Assembly: GridPlacement.Core
Type: interface
Properties
Id
Unique identifier for the placeable Used as primary key in data structures and lookup operations
Name
Human-readable display name Primary label shown in UI components (menus, tooltips, etc.)
Description
Detailed description of the placeable Used for UI tooltips, help text, and contextual information
Size
Size dimensions in grid units Used for collision detection, placement validation, and UI layout
Category
Category identifier for grouping and filtering String-based to allow game-specific categories and runtime customization
CanRotate
Whether this placeable can be rotated during placement Affects UI controls and placement validation
CanMirror
Whether this placeable can be mirrored/flipped during placement Affects UI controls and available placement options
ResourceCost
Resource cost required to place this object Used by UI for cost display and placement validation
Properties
Custom properties for extensibility Allows engine-specific data, mod support, and custom game logic
Variants
Visual variants available for this placeable Multiple visual representations while sharing core gameplay logic
IsValid
Whether this placeable is currently valid/available Used by UI to enable/disable interactions and placement
FilePath
File path to the scene or resource file this placeable represents Engine-agnostic path (e.g., “buildings/house.tscn”) Used by engine-specific layers for scene instantiation