Skip to main content
Version: 15.x (API 15) [Current]

Interface IGameObject

Interface representing a game object.

Assembly: Dalamud.dll​
Declaration
public interface IGameObject : IEquatable<IGameObject>

Properties​

Name​

Gets the name of this Dalamud.Game.ClientState.Objects.Types.GameObject.

Declaration
SeString Name { get; }

GameObjectId​

Gets the GameObjectID for this GameObject. The Game Object ID is a globally unique identifier that points to this specific object. This ID is used to reference specific objects on the local client (e.g. for targeting).

Not to be confused with Dalamud.Game.ClientState.Objects.Types.IGameObject.EntityId.

Declaration
ulong GameObjectId { get; }

EntityId​

Gets the Entity ID for this GameObject. Entity IDs are assigned to networked GameObjects.

A value of 0xE000_0000 indicates that this entity is not networked and has specific interactivity rules.

Declaration
uint EntityId { get; }

DataId​

Gets the data ID for linking to other respective game data.

Declaration
[Obsolete("Renamed to BaseId")]
uint DataId { get; }

BaseId​

Gets the base ID for linking to other respective game data.

Declaration
uint BaseId { get; }

OwnerId​

Gets the ID of this GameObject's owner.

Declaration
uint OwnerId { get; }

ObjectIndex​

Gets the index of this object in the object table.

Declaration
ushort ObjectIndex { get; }

ObjectKind​

Gets the entity kind of this Dalamud.Game.ClientState.Objects.Types.GameObject. See Dalamud.Game.ClientState.Objects.Types.IGameObject.ObjectKind?text=the ObjectKind enum for possible values.

Declaration
ObjectKind ObjectKind { get; }

SubKind​

Gets the sub kind of this Actor.

Declaration
byte SubKind { get; }

YalmDistanceX​

Gets the X distance from the local player in yalms.

Declaration
[Obsolete("Use CurrentDistance.")]
byte YalmDistanceX { get; }

YalmDistanceZ​

Gets the Y distance from the local player in yalms.

Declaration
[Obsolete("This property did not represent the Z-axis. It is the next distance value that will replace CurrentDistance on the next update tick. Use CurrentDistance instead.")]
byte YalmDistanceZ { get; }

CurrentDistance​

Gets the current distance from the local player, in yalms.

Declaration
byte CurrentDistance { get; }

NextDistance​

Gets the next distance value that will replace Dalamud.Game.ClientState.Objects.Types.IGameObject.CurrentDistance on the next update tick.

Declaration
byte NextDistance { get; }

IsDead​

Gets a value indicating whether the object is dead or alive.

Declaration
bool IsDead { get; }

IsTargetable​

Gets a value indicating whether the object is targetable.

Declaration
bool IsTargetable { get; }

Position​

Gets the position of this Dalamud.Game.ClientState.Objects.Types.GameObject.

Declaration
Vector3 Position { get; }

Rotation​

Gets the rotation of this Dalamud.Game.ClientState.Objects.Types.GameObject. This ranges from -pi to pi radians.

Declaration
float Rotation { get; }

HitboxRadius​

Gets the hitbox radius of this Dalamud.Game.ClientState.Objects.Types.GameObject.

Declaration
float HitboxRadius { get; }

TargetObjectId​

Gets the current target of the game object.

Declaration
ulong TargetObjectId { get; }

TargetObject​

Gets the target object of the game object.

Declaration
IGameObject? TargetObject { get; }
Remarks​

This iterates the actor table, it should be used with care.

Address​

Gets the address of the game object in memory.

Declaration
nint Address { get; }

Methods​

IsValid()​

Gets a value indicating whether this actor is still valid in memory.

Declaration
bool IsValid()
Returns​

System.Boolean: True or false.