Table of Contents

Class ProvinceStateSerializer

Namespace
Core.Data
Assembly
Core.dll

High-performance serialization for province state data. Optimized for networking with minimal bandwidth usage. Uses ProvinceSystem's double-buffered state for thread-safe reads.

public static class ProvinceStateSerializer
Inheritance
object
ProvinceStateSerializer

Methods

DeserializeFullState(byte[])

Deserialize full province state from network data. Returns province IDs and states for the caller to apply.

public static ProvinceStateSerializer.DeserializeResult DeserializeFullState(byte[] data)

Parameters

data byte[]

Returns

ProvinceStateSerializer.DeserializeResult

DeserializeSingleProvince(byte[], out ushort, out ProvinceState)

Deserialize single province state

public static bool DeserializeSingleProvince(byte[] data, out ushort provinceID, out ProvinceState state)

Parameters

data byte[]
provinceID ushort
state ProvinceState

Returns

bool

GetSerializationStats(byte[])

Get serialization statistics

public static ProvinceStateSerializer.SerializationStats GetSerializationStats(byte[] data)

Parameters

data byte[]

Returns

ProvinceStateSerializer.SerializationStats

SerializeFullState(ProvinceSystem)

Serialize entire province state for networking (full sync). Output: Header + Count + ProvinceIDs + States

public static byte[] SerializeFullState(ProvinceSystem provinceSystem)

Parameters

provinceSystem ProvinceSystem

Returns

byte[]

SerializeSingleProvince(ProvinceState, ushort)

Serialize single province state for command transmission

public static byte[] SerializeSingleProvince(ProvinceState state, ushort provinceID)

Parameters

state ProvinceState
provinceID ushort

Returns

byte[]

ValidateSerializedData(byte[], out string)

Validate serialized data integrity

public static bool ValidateSerializedData(byte[] data, out string errorMessage)

Parameters

data byte[]
errorMessage string

Returns

bool