Table of Contents

Interface IGridPlacementCore

Namespace
MoonBark.GridPlacement.Core.Interfaces
Assembly
MoonBark.GridPlacement.Core.dll

Façade interface for core grid placement operations. ZERO Friflo dependencies — implementations may wrap ECS internally but this interface is engine-agnostic.

public interface IGridPlacementCore

Properties

CurrentTarget

GridPosition CurrentTarget { get; }

Property Value

GridPosition

GridSize

GridSize GridSize { get; }

Property Value

GridSize

Methods

GetOccupant(GridPosition)

OccupantInfo? GetOccupant(GridPosition position)

Parameters

position GridPosition

Returns

OccupantInfo

IsInBounds(GridPosition)

bool IsInBounds(GridPosition position)

Parameters

position GridPosition

Returns

bool

IsOccupied(GridPosition)

bool IsOccupied(GridPosition position)

Parameters

position GridPosition

Returns

bool

Place(GridPosition, PlaceableId, string, CardinalDirection)

PlacementResult Place(GridPosition position, PlaceableId placeableId, string ownerKey, CardinalDirection direction)

Parameters

position GridPosition
placeableId PlaceableId
ownerKey string
direction CardinalDirection

Returns

PlacementResult

Remove(GridPosition)

PlacementResult Remove(GridPosition position)

Parameters

position GridPosition

Returns

PlacementResult

TrySetTarget(GridPosition)

bool TrySetTarget(GridPosition position)

Parameters

position GridPosition

Returns

bool

ValidatePlacement(GridPosition, PlaceableId, string)

PlacementValidation ValidatePlacement(GridPosition position, PlaceableId placeableId, string ownerKey)

Parameters

position GridPosition
placeableId PlaceableId
ownerKey string

Returns

PlacementValidation