Nebula
Protocol

InstanceContainerInfo

Identifies a private container's simulation scope and content.

generated from the sources
[Serializable]
public sealed class InstanceContainerInfo

Identifies a private container's simulation scope and content. What it looks out at is its portals' windows (docs/portals.md D20).

Fields

InstanceId

public ulong InstanceId;

The 64-bit simulation scope (NebulaWorker.InstanceKey of ScopeKey). Zero is the public world.

ContentResource

public string ContentResource = "";

ScopeKey

public string ScopeKey = "";

The opaque scope key the game chose for this instance (TemplateId/key, as passed to NebulaWorker.PrepareInstance), carried so every process can report it in EntityLocation.ScopeKey without inverting the hash. Nebula never parses it. Empty on a lease row written before the key was recorded.

PartId

public string PartId = "";

The scope part this container is (ScopePart.PartId), carried so a role that was handed the row — a client, a gateway — can say which part of the scope it holds without inverting the hash that named it. A scoped chunk's part id is its coordinate (ChunkKeys.PartId), which is how every role rebuilds the chunk grid's coordinate map from lease rows alone. Empty on a row written before the part id was recorded, and on a public-world container.

HasPose

public bool HasPose;

Whether the instance's own space is turned against its host scope's (NEB-426, docs/scope-frames.md D12): an instance entered through a door that is not upright in its host (a door on a sphere) is built upright in its own space and posed at the door. A point p of the instance's space is PoseOrigin + PoseRotation × (p − PoseOrigin) in the host's. False for an instance whose axes are its host's, which is every instance prepared without a rotation.

PoseOrigin

public Double3 PoseOrigin;

The point both spaces share, absolute (the door): the instance's origin.

PoseRotation

public Quaternion PoseRotation = Quaternion.identity;

The instance's axes in its host scope's.

Methods

Write

public void Write(NetworkWriter writer);

Read

public static InstanceContainerInfo Read(NetworkReader reader);

On this page