public override System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> ReadFields(System.IO.BinaryReader binaryReader)
 {
     System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer> pointerQueue = new System.Collections.Generic.Queue <Moonfish.Tags.BlamPointer>(base.ReadFields(binaryReader));
     this.DecoratorSet             = binaryReader.ReadByteBlockIndex1();
     this.DecoratorType            = ((DecoratorTypeEnum)(binaryReader.ReadByte()));
     this.ShaderIndex              = binaryReader.ReadByte();
     this.CompressedRadius         = binaryReader.ReadByte();
     this.Cluster                  = binaryReader.ReadInt16();
     this.CacheBlock               = binaryReader.ReadShortBlockIndex1();
     this.DecoratorStartIndex      = binaryReader.ReadInt16();
     this.DecoratorCount           = binaryReader.ReadInt16();
     this.VertexStartOffset        = binaryReader.ReadInt16();
     this.VertexCount              = binaryReader.ReadInt16();
     this.IndexStartOffset         = binaryReader.ReadInt16();
     this.IndexCount               = binaryReader.ReadInt16();
     this.CompressedBoundingCenter = binaryReader.ReadInt32();
     return(pointerQueue);
 }
        public static ISector CreateDecorator(ISector sector, DecoratorTypeEnum type, int value = 0)
        {
            FactoryDecorator sectorFactory = null;

            switch (type)
            {
            case DecoratorTypeEnum.BigTrees:
                sectorFactory = new BigTreesFactory(sector);
                break;

            case DecoratorTypeEnum.DryGrass:
                sectorFactory = new DryGrassFactory(sector);
                break;

            case DecoratorTypeEnum.HotDay:
                sectorFactory = new HotDayFactory(sector, value);
                break;

            case DecoratorTypeEnum.RainingDay:
                sectorFactory = new RainingDayFactory(sector, value);
                break;

            case DecoratorTypeEnum.ScaredPeople:
                var scaredPeople = GenerateRandomValue.GetRandom(0, 6);
                sectorFactory = new ScaredPeopleFactory(sector, scaredPeople);
                break;

            case DecoratorTypeEnum.WindyDay:
                sectorFactory = new WindyDayFactory(sector, value);
                break;

            case DecoratorTypeEnum.Basic:
                sectorFactory = new BasicFactory(sector);
                break;
            }

            return(sectorFactory.CreateSector());
        }