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)); }
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); }
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); }
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); }
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); }
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); }
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); }
/// <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()); }
/// <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); } }