public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     var limit = reader.ReadUShort();
     CharactersToRecolor = new CharacterToRecolorInformation[limit];
     for (int i = 0; i < limit; i++)
     {
         CharactersToRecolor[i] = new CharacterToRecolorInformation();
         CharactersToRecolor[i].Deserialize(reader);
     }
     limit = reader.ReadUShort();
     CharactersToRename = new int[limit];
     for (int i = 0; i < limit; i++)
     {
         CharactersToRename[i] = reader.ReadInt();
     }
     limit = reader.ReadUShort();
     UnusableCharacters = new int[limit];
     for (int i = 0; i < limit; i++)
     {
         UnusableCharacters[i] = reader.ReadInt();
     }
     limit = reader.ReadUShort();
     CharactersToRelook = new CharacterToRelookInformation[limit];
     for (int i = 0; i < limit; i++)
     {
         CharactersToRelook[i] = new CharacterToRelookInformation();
         CharactersToRelook[i].Deserialize(reader);
     }
 }
 public CharactersListWithModificationsMessage(bool hasStartupActions, CharacterBaseInformations[] characters, CharacterToRecolorInformation[] charactersToRecolor, int[] charactersToRename, int[] unusableCharacters, CharacterToRelookInformation[] charactersToRelook)
     : base(hasStartupActions, characters)
 {
     CharactersToRecolor = charactersToRecolor;
     CharactersToRename = charactersToRename;
     UnusableCharacters = unusableCharacters;
     CharactersToRelook = charactersToRelook;
 }