Table of Contents

Struct ComponentFieldUpdate

Namespace
Typhon.Protocol
Assembly
Typhon.Protocol.dll

Per-component change data for a Modified entity. Carries a field dirty bitmask and the values of changed fields.

[MemoryPackable(GenerateType.Object)]
public struct ComponentFieldUpdate : IMemoryPackable<ComponentFieldUpdate>, IMemoryPackFormatterRegister
Implements
IMemoryPackable<ComponentFieldUpdate>
IMemoryPackFormatterRegister
Inherited Members

Remarks

v1: FieldDirtyBits is always ~0UL (all fields dirty) and FieldValues contains the full component bytes. Per-field tracking will be added in v1.1 via output-phase diffing.

The wire format is forward-compatible: clients read FieldDirtyBits to determine which fields are present in FieldValues. When all bits are set, FieldValues is the complete component struct.

Fields

ComponentId

Component type identifier, assigned when the component type is registered.

public ushort ComponentId

Field Value

ushort

FieldDirtyBits

Bitmask of which fields changed (bit N = field N). Up to 64 fields per component. v1: always ~0UL (all fields). v1.1: accurate per-field bits via output-phase diff.

public ulong FieldDirtyBits

Field Value

ulong

FieldValues

Raw bytes of changed field values, concatenated in field-index order. v1: full component struct bytes. v1.1: only bytes for fields with set bits in FieldDirtyBits.

public byte[] FieldValues

Field Value

byte[]