public virtual void Deserialize(ICustomDataInput reader)
        {
            playerCount = reader.ReadInt();
            var limit = reader.ReadUShort();

            monsters = new MonsterInGroupLightInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                monsters[i] = new MonsterInGroupLightInformations();
                monsters[i].Deserialize(reader);
            }
        }
        public virtual void Deserialize(ICustomDataInput reader)
        {
            this.mainCreatureLightInfos = new MonsterInGroupLightInformations();
            this.mainCreatureLightInfos.Deserialize(reader);
            var limit = reader.ReadUShort();

            this.underlings = new MonsterInGroupInformations[limit];
            for (int i = 0; i < limit; i++)
            {
                (this.underlings as MonsterInGroupInformations[])[i] = new MonsterInGroupInformations();
                (this.underlings as MonsterInGroupInformations[])[i].Deserialize(reader);
            }
        }
 public GroupMonsterStaticInformationsWithAlternatives(MonsterInGroupLightInformations mainCreatureLightInfos, MonsterInGroupInformations[] underlings, AlternativeMonstersInGroupLightInformations[] alternatives)
     : base(mainCreatureLightInfos, underlings)
 {
     this.alternatives = alternatives;
 }
 public GroupMonsterStaticInformations(MonsterInGroupLightInformations mainCreatureLightInfos, IEnumerable <MonsterInGroupInformations> underlings)
 {
     this.mainCreatureLightInfos = mainCreatureLightInfos;
     this.underlings             = underlings;
 }