Class ProvinceStateSerializer
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
-
objectProvinceStateSerializer
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
databyte[]
Returns
DeserializeSingleProvince(byte[], out ushort, out ProvinceState)
Deserialize single province state
public static bool DeserializeSingleProvince(byte[] data, out ushort provinceID, out ProvinceState state)
Parameters
databyte[]provinceIDushortstateProvinceState
Returns
- bool
GetSerializationStats(byte[])
Get serialization statistics
public static ProvinceStateSerializer.SerializationStats GetSerializationStats(byte[] data)
Parameters
databyte[]
Returns
SerializeFullState(ProvinceSystem)
Serialize entire province state for networking (full sync). Output: Header + Count + ProvinceIDs + States
public static byte[] SerializeFullState(ProvinceSystem provinceSystem)
Parameters
provinceSystemProvinceSystem
Returns
- byte[]
SerializeSingleProvince(ProvinceState, ushort)
Serialize single province state for command transmission
public static byte[] SerializeSingleProvince(ProvinceState state, ushort provinceID)
Parameters
stateProvinceStateprovinceIDushort
Returns
- byte[]
ValidateSerializedData(byte[], out string)
Validate serialized data integrity
public static bool ValidateSerializedData(byte[] data, out string errorMessage)
Parameters
databyte[]errorMessagestring
Returns
- bool