Table of Contents

Interface IGameState

Namespace
AcDream.Plugin.Abstractions
Assembly
AcDream.Plugin.Abstractions.dll

A read-only view of what the client currently has in the world. Every list is a snapshot the host rebuilds; it is never mutated underneath a reader.

public interface IGameState

Properties

Contracts

The character's tracked quest contracts. Empty on a host that does not track them and before the server has sent any.

IReadOnlyList<ContractSnapshot> Contracts { get; }

Property Value

IReadOnlyList<ContractSnapshot>

Entities

Everything the client is currently drawing, with its position and facing. Empty before the local player is in the world.

IReadOnlyList<WorldEntitySnapshot> Entities { get; }

Property Value

IReadOnlyList<WorldEntitySnapshot>

SceneryObjects

The fixed decoration of the landscape around the character -- trees, rocks, buildings and the other pieces that come with the map rather than from the world server -- with the position and facing the client placed each one at.

These are not objects. Nothing here can be selected, used, attacked or picked up, and none of it has a server identity, so an id in this list never appears in Entities and never belongs in a command. It is useful for reading the shape of the surroundings and for nothing else.

Empty on a host that draws nothing, because what is placed, and how far out, is a fact about a drawn world. A plugin that wants the surroundings has to cope with an empty list.

IReadOnlyList<WorldEntitySnapshot> SceneryObjects { get; }

Property Value

IReadOnlyList<WorldEntitySnapshot>