This document is about: QUANTUM 1
SWITCH TO

Serialize arrays in RuntimeConfig user data

Strings or primitives:

C#

sealed partial class RuntimeConfig {
    public string[] ArrayOfStrings;

    partial void SerializeUserData(BitStream stream) {

        stream.SerializeArrayLength(ref ArrayOfStrings);

        for (int i = 0; i < ArrayOfStrings.Length; i++) {
            stream.Serialize(ref ArrayOfStrings[i]);
        }   
    }
} 

Or RuntimePlayer objects:

C#

sealed partial class RuntimeConfig {
    public RuntimePlayer[] AIConfigs;

    partial void SerializeUserData(BitStream stream) {

        stream.SerializeArrayLength(ref AIConfigs);

        byte[] data = null;
        for (int i = 0; i < AIConfigs.Length; i++) {

            if (stream.Writing) {
                data = RuntimePlayer.ToByteArray(AIConfigs[i]);
            }

            stream.Serialize(ref data);
            
            if (stream.Reading) {
                AIConfigs[i] = RuntimePlayer.FromByteArray(data);
            }
        }
    }
}
Back to top