예제 #1
0
        static KeyValuePair <PropertyType, BaseProperty> ReadProperty(BinaryReader reader)
        {
            var          key      = (PropertyType)reader.ReadUInt32();
            BaseProperty property = new BaseProperty();

            property.Unpack(reader);
            return(new KeyValuePair <PropertyType, BaseProperty>(key, property));
        }
예제 #2
0
        public T AddProperty <T>(PropertyType type) where T : PropertyValue, new()
        {
            BaseProperty bp = new BaseProperty
            {
                Type  = type,
                Value = new T()
            };

            Properties.Add(type, bp);
            return((T)bp.Value);
        }
예제 #3
0
        override public void Unpack(BinaryReader reader)
        {
            Value.Clear();
            uint count = reader.ReadUInt32();

            for (int i = 0; i < count; i++)
            {
                BaseProperty prop = new BaseProperty();
                prop.Unpack(reader);
                Value.Add(prop);
            }
        }