CharacterData

Serializable data record used to initialize Character instances during factory spawning. Extends FactorableData to integrate with the Scriptable Factory system.

Definition

Namespace: Paragon.Townskeep.CharacterSystem Assembly: Townskeep.dll

[Serializable]
public record CharacterData : FactorableData

Inheritance: FactorableData → CharacterData

Remarks

CharacterData is a C# 9 record type, providing value-based equality and with expression support. It is marked [Serializable] for Unity serialization and Inspector support.

Currently, the only field is CharacterID, which serves as a unique identifier for the character. The record is passed to Character.InitializeData() during factory spawning.

Record Semantics

As a record, CharacterData supports:

  • Value equality — two instances with the same CharacterID are considered equal

  • with expressionsvar copy = data with { CharacterID = 2 };

  • Deconstruction — when additional fields are added

Quick Lookup

Goal
How

Create data for spawning

new CharacterData { CharacterID = 42 }

Copy with modification

var copy = data with { CharacterID = 99 }

Compare two records

data1 == data2 (value equality)

Fields

Field
Type
Description

CharacterID

int

Unique identifier for the character

Examples

Creating CharacterData

Spawning a Character with Data

Copying with Modification

See Also

Last updated