Table of Contents

Class ObjectDef

Namespace
TileWorld.Engine.Content.Objects
Assembly
TileWorld.Engine.dll

Describes a placeable multi-tile world object such as furniture or stations.

public sealed class ObjectDef
Inheritance
ObjectDef
Inherited Members

Properties

AnchorOffset

Gets the offset from the top-left footprint origin to the logical anchor coordinate used by placement APIs.

public Int2 AnchorOffset { get; init; }

Property Value

Int2

BreakDropItemId

Gets the item definition identifier spawned when the object is destroyed. A value of 0 disables drops.

public int BreakDropItemId { get; init; }

Property Value

int

CollisionTileMask

Gets the optional per-tile collision mask in footprint-local row-major order.

public bool[] CollisionTileMask { get; init; }

Property Value

bool[]

Remarks

When omitted, solid collision modes block the entire object footprint.

EmissiveLight

Gets the single-channel emissive light level emitted by this object in the range 0..15.

public byte EmissiveLight { get; init; }

Property Value

byte

Id

Gets the stable numeric identifier used to reference this object definition.

public int Id { get; init; }

Property Value

int

IsInteractive

Gets a value indicating whether the object participates in interaction workflows.

public bool IsInteractive { get; init; }

Property Value

bool

MovementCollisionMode

Gets the movement-collision behavior used when entities traverse object-occupied tiles.

public MovementCollisionMode MovementCollisionMode { get; init; }

Property Value

MovementCollisionMode

Remarks

The default value keeps existing placed furniture behavior deterministic by treating objects as blocking.

Name

Gets the human-readable object name used by tools and debug output.

public string Name { get; init; }

Property Value

string

RequiresSupport

Gets a value indicating whether the object requires solid support below its bottom edge.

public bool RequiresSupport { get; init; }

Property Value

bool

SizeInTiles

Gets the object footprint size in tiles.

public Int2 SizeInTiles { get; init; }

Property Value

Int2

Visual

Gets the visual metadata used by render backends to draw this object.

public TileVisualDef Visual { get; init; }

Property Value

TileVisualDef