Table of Contents

Class EntityDelta

Namespace
KeenEyes.Serialization
Assembly
KeenEyes.Core.dll

Represents changes to a single entity.

public sealed record EntityDelta : IEquatable<EntityDelta>
Inheritance
EntityDelta
Implements
Inherited Members

Properties

AddedComponents

Gets components that were added to the entity.

public IReadOnlyList<SerializedComponent> AddedComponents { get; init; }

Property Value

IReadOnlyList<SerializedComponent>

EntityId

Gets the ID of the entity that was modified.

public required int EntityId { get; init; }

Property Value

int

IsEmpty

Gets whether this delta is empty (no changes).

[JsonIgnore]
public bool IsEmpty { get; }

Property Value

bool

ModifiedComponents

Gets components that were modified on the entity.

public IReadOnlyList<SerializedComponent> ModifiedComponents { get; init; }

Property Value

IReadOnlyList<SerializedComponent>

NameRemoved

Gets whether the entity's name was explicitly cleared (removed).

public bool NameRemoved { get; init; }

Property Value

bool

Remarks

Distinct from a null NewName, which means the name is unchanged. When true, the entity's name is removed during restoration.

NewName

Gets the new name assigned to the entity, or null when the name is unchanged.

public string? NewName { get; init; }

Property Value

string

Remarks

A null value means "no change"; to represent clearing an entity's name, use NameRemoved. This mirrors how NewParentId and ParentRemoved distinguish "reparent" from "orphan".

NewParentId

Gets whether the entity's parent changed.

public int? NewParentId { get; init; }

Property Value

int?

ParentRemoved

Gets whether the parent was explicitly set to null (orphaned).

public bool ParentRemoved { get; init; }

Property Value

bool

RemovedComponentTypes

Gets type names of components that were removed from the entity.

public IReadOnlyList<string> RemovedComponentTypes { get; init; }

Property Value

IReadOnlyList<string>