Table of Contents

Struct OccupantData

Namespace
MoonBark.GridPlacement.Core.Data.Placement
Assembly
MoonBark.GridPlacement.Core.dll

Implementation of occupant data for grid positions. Refactored to a readonly struct to prevent GC allocations across frequent grid querying loops.

public readonly struct OccupantData : IOccupantData, IEquatable<OccupantData>
Implements
Inherited Members

Properties

BlocksPlacement

Whether the occupant blocks placement.

public bool BlocksPlacement { get; init; }

Property Value

bool

Id

Unique identifier for the occupant.

public string Id { get; init; }

Property Value

string

OwnerKey

public string? OwnerKey { get; init; }

Property Value

string

PlaceableId

public string PlaceableId { get; init; }

Property Value

string

Type

Type of the occupant (building, obstacle, etc.).

public string Type { get; init; }

Property Value

string

Methods

Equals(OccupantData)

Indicates whether the current object is equal to another object of the same type.

public bool Equals(OccupantData other)

Parameters

other OccupantData

An object to compare with this object.

Returns

bool

true if the current object is equal to the other parameter; otherwise, false.

Equals(object?)

Indicates whether this instance and a specified object are equal.

public override bool Equals(object? obj)

Parameters

obj object

The object to compare with the current instance.

Returns

bool

true if obj and this instance are the same type and represent the same value; otherwise, false.

GetHashCode()

Returns the hash code for this instance.

public override int GetHashCode()

Returns

int

A 32-bit signed integer that is the hash code for this instance.

Operators

operator ==(OccupantData, OccupantData)

public static bool operator ==(OccupantData left, OccupantData right)

Parameters

left OccupantData
right OccupantData

Returns

bool

operator !=(OccupantData, OccupantData)

public static bool operator !=(OccupantData left, OccupantData right)

Parameters

left OccupantData
right OccupantData

Returns

bool