Ejemplo n.º 1
0
            public BoundingBox Deserialize(SerializationContext context, object content, BoundingBox defaultValue)
            {
                var minimum = context.Deserialize(content, nameof(BoundingBox.Minimum), defaultValue.Minimum);
                var maximum = context.Deserialize(content, nameof(BoundingBox.Maximum), defaultValue.Maximum);

                return(new BoundingBox(minimum, maximum));
            }
Ejemplo n.º 2
0
            public Vector4 Deserialize(SerializationContext context, object content, Vector4 defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <float>());

                if (@array.Length == 4)
                {
                    return(new Vector4(@array));
                }
                return(defaultValue);
            }
Ejemplo n.º 3
0
            public Int3 Deserialize(SerializationContext context, object content, Int3 defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <int>());

                if (@array.Length == 3)
                {
                    return(new Int3(@array));
                }
                return(defaultValue);
            }
Ejemplo n.º 4
0
            public Color3 Deserialize(SerializationContext context, object content, Color3 defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <float>());

                if (@array.Length == 3)
                {
                    return(new Color3(@array));
                }
                return(defaultValue);
            }
Ejemplo n.º 5
0
            public RectangleF Deserialize(SerializationContext context, object content, RectangleF defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <float>());

                if (@array.Length == 4)
                {
                    return(new RectangleF(@array[0], @array[1], @array[2], @array[3]));
                }
                return(defaultValue);
            }
Ejemplo n.º 6
0
            public Matrix Deserialize(SerializationContext context, object content, Matrix defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <float>());

                if (@array.Length == 16)
                {
                    return(new Matrix(@array));
                }
                return(defaultValue);
            }
Ejemplo n.º 7
0
            public Quaternion Deserialize(SerializationContext context, object content, Quaternion defaultValue)
            {
                var @array = context.Deserialize(content, null, Array.Empty <float>());

                if (@array.Length == 4)
                {
                    return(new Quaternion(@array));
                }
                return(defaultValue);
            }
Ejemplo n.º 8
0
        /// <summary> Verifies that the given block serializes and then deserializes properly. </summary>
        /// <param name="originalBlock"> The original block to test the serialization process for. </param>
        /// <param name="descriptorsLookup"> The descriptors that should be used when deserializing. </param>
        public static void VerifyDeserialization(Block originalBlock, DescriptorsLookup descriptorsLookup)
        {
            var node    = originalBlock.Serialize();
            var context = new SerializationContext(descriptorsLookup);

            var deserializedBlock = context.Deserialize(node);

            deserializedBlock.As <object>()
            .Should()
            .BeEquivalentTo(originalBlock, c => c.IgnoringCyclicReferences());
        }
Ejemplo n.º 9
0
        /// <inheritdoc />
        public override void Deserialize(SerializationContext context, SerializeNode node)
        {
            var originalFirst = FirstBlock;
            var originalLast  = LastBlock;

            foreach (var nodeChild in node.Children)
            {
                var childBlock = context.Deserialize(nodeChild);
                Append(childBlock);
            }

            // remove all blocks that used to exist before
            foreach (var block in GetBlocksBetweenInclusive(originalFirst, originalLast))
            {
                RemoveBlock(block);
            }
        }