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
Id
Unique identifier for the occupant.
public string Id { get; init; }
Property Value
OwnerKey
public string? OwnerKey { get; init; }
Property Value
PlaceableId
public string PlaceableId { get; init; }
Property Value
Type
Type of the occupant (building, obstacle, etc.).
public string Type { get; init; }
Property Value
Methods
Equals(OccupantData)
Indicates whether the current object is equal to another object of the same type.
public bool Equals(OccupantData other)
Parameters
otherOccupantDataAn object to compare with this object.
Returns
Equals(object?)
Indicates whether this instance and a specified object are equal.
public override bool Equals(object? obj)
Parameters
objobjectThe object to compare with the current instance.
Returns
- bool
true if
objand 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
leftOccupantDatarightOccupantData
Returns
operator !=(OccupantData, OccupantData)
public static bool operator !=(OccupantData left, OccupantData right)
Parameters
leftOccupantDatarightOccupantData