示例#1
0
        /// <inheritdoc />
        public int Serialize(TValue value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            T1 part1;
            T2 part2;
            T3 part3;
            T4 part4;
            T5 part5;
            T6 part6;
            T7 part7;
            T8 part8;

            this.DecomposeValue(
                value, out part1, out part2, out part3, out part4, out part5, out part6, out part7, out part8);

            return(this.serialzierT1.Serialize(part1, buffer, ref index)
                   + this.serialzierT2.Serialize(part2, buffer, ref index)
                   + this.serialzierT3.Serialize(part3, buffer, ref index)
                   + this.serialzierT4.Serialize(part4, buffer, ref index)
                   + this.serialzierT5.Serialize(part5, buffer, ref index)
                   + this.serialzierT6.Serialize(part6, buffer, ref index)
                   + this.serialzierT7.Serialize(part7, buffer, ref index)
                   + this.serialzierT8.Serialize(part8, buffer, ref index));
        }
示例#2
0
        /// <inheritdoc />
        public int Serialize(int value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            this.converter.CopyBytes(value, buffer, ref index);
            return(this.SerializedLength);
        }
示例#3
0
        /// <inheritdoc />
        public int Serialize(TValue value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            T1 part1;
            T2 part2;
            T3 part3;
            T4 part4;
            T5 part5;
            T6 part6;
            T7 part7;
            T8 part8;

            this.DecomposeValue(
                value, out part1, out part2, out part3, out part4, out part5, out part6, out part7, out part8);

            return(this.serialzierT1.Serialize(part1, writeByte)
                   + this.serialzierT2.Serialize(part2, writeByte)
                   + this.serialzierT3.Serialize(part3, writeByte)
                   + this.serialzierT4.Serialize(part4, writeByte)
                   + this.serialzierT5.Serialize(part5, writeByte)
                   + this.serialzierT6.Serialize(part6, writeByte)
                   + this.serialzierT7.Serialize(part7, writeByte)
                   + this.serialzierT8.Serialize(part8, writeByte));
        }
示例#4
0
        /// <inheritdoc />
        public int Serialize(int value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            this.converter.WriteBytes(value, writeByte);
            return(this.SerializedLength);
        }
        /// <inheritdoc />
        public int Serialize(T value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);
            Contracts.Requires.That(value.Equals(this.ConstantValue));

            return(this.SerializedLength);
        }
        /// <inheritdoc />
        public int Serialize(T value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);
            Contracts.Requires.That(value.Equals(this.ConstantValue));

            return(this.SerializedLength);
        }
示例#7
0
        /// <inheritdoc />
        public int Serialize(TValue value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            return(this.keySerializer.Serialize(value.Key, writeByte)
                   + this.serializers[value.Key].Serialize(value, writeByte));
        }
示例#8
0
        /// <inheritdoc />
        public int Serialize(TValue value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            return(this.keySerializer.Serialize(value.Key, buffer, ref index)
                   + this.serializers[value.Key].Serialize(value, buffer, ref index));
        }
示例#9
0
        /// <inheritdoc />
        public int Serialize(TValue value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            T part = this.DecomposeValue(value);

            return(this.serialzier.Serialize(part, writeByte));
        }
示例#10
0
        /// <inheritdoc />
        public int Serialize(TValue value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            T part = this.DecomposeValue(value);

            return(this.serialzier.Serialize(part, buffer, ref index));
        }
        /// <inheritdoc />
        public int Serialize(TEnumerable value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            int serializedLength = this.CountSerializer.Serialize(this.GetCount(value), writeByte);

            return(SerializeEnumerable.SerializeValues(this.ValueSerializer, value, writeByte)
                   + serializedLength);
        }
        /// <inheritdoc />
        public int Serialize(TEnumerable value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            int originalArrayIndex = index;

            this.CountSerializer.Serialize(this.GetCount(value), buffer, ref index);

            SerializeEnumerable.SerializeValues(this.ValueSerializer, value, buffer, ref index);
            return(index - originalArrayIndex);
        }
        /// <inheritdoc />
        public int Serialize(TValue value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            T1 part1;
            T2 part2;

            this.DecomposeValue(value, out part1, out part2);

            return(this.serialzierT1.Serialize(part1, writeByte)
                   + this.serialzierT2.Serialize(part2, writeByte));
        }
        /// <inheritdoc />
        public int Serialize(TValue value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            T1 part1;
            T2 part2;

            this.DecomposeValue(value, out part1, out part2);

            return(this.serialzierT1.Serialize(part1, buffer, ref index)
                   + this.serialzierT2.Serialize(part2, buffer, ref index));
        }
        /// <inheritdoc />
        public int Serialize(TIndexable value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);
            this.AdditionalSerializeContracts(value);

            int    serializedLength = 0;
            TIndex lowerBounds      = this.GetLowerBounds(value);
            TIndex dimensions       = this.GetDimensions(value);

            serializedLength += this.LowerBoundsSerializer.Serialize(lowerBounds, writeByte);
            serializedLength += this.DimensionsSerializer.Serialize(dimensions, writeByte);
            serializedLength += this.SerializeValues(value, lowerBounds, dimensions, writeByte);
            return(serializedLength);
        }
        /// <inheritdoc />
        public int Serialize(TIndexable value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);
            this.AdditionalSerializeContracts(value);

            int    originalArrayIndex = index;
            TIndex lowerBounds        = this.GetLowerBounds(value);
            TIndex dimensions         = this.GetDimensions(value);

            this.LowerBoundsSerializer.Serialize(lowerBounds, buffer, ref index);
            this.DimensionsSerializer.Serialize(dimensions, buffer, ref index);
            this.SerializeValues(value, lowerBounds, dimensions, buffer, ref index);
            return(index - originalArrayIndex);
        }
		/// <inheritdoc />
		public int Serialize(SkyIslandMapChunkResources value, Action<byte> writeByte)
		{
			ISerializerContracts.Serialize(value, writeByte);

			return this.serializer.Serialize(value.Maps, writeByte);
		}
		/// <inheritdoc />
		public int Serialize(SkyIslandMapChunkResources value, byte[] buffer, ref int index)
		{
			ISerializerContracts.Serialize(this, value, buffer, index);

			return this.serializer.Serialize(value.Maps, buffer, ref index);
		}
示例#19
0
        /// <inheritdoc />
        public int Serialize(VoxelGridChunkResources value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            return(this.serializer.Serialize(value.Voxels, writeByte));
        }
示例#20
0
        /// <inheritdoc />
        public int Serialize(VoxelGridChunkResources value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            return(this.serializer.Serialize(value.Voxels, buffer, ref index));
        }
        /// <inheritdoc />
        public int Serialize(TValue value, byte[] buffer, ref int index)
        {
            ISerializerContracts.Serialize(this, value, buffer, index);

            return(this.serializer.Serialize(this.converter.Convert(value), buffer, ref index));
        }
        /// <inheritdoc />
        public int Serialize(TValue value, Action <byte> writeByte)
        {
            ISerializerContracts.Serialize(value, writeByte);

            return(this.serializer.Serialize(this.converter.Convert(value), writeByte));
        }