InstanceContainerInfo
Identifies a private container's simulation scope and content.
Nebula · Packages/com.1by3.nebula/Runtime/Protocol/InstanceContainerInfo.cs[Serializable]
public sealed class InstanceContainerInfoIdentifies 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);