Made AnimationEditor compatible with Dictionary SpriteMaps

Added MonoGame Pipeline's IntermediateSerializer and needed classes from the pipeline and  MonoGame.Framework.Utilities to make AnimationEditor capable of reading Dictionaries
This commit is contained in:
quinnvoker
2018-11-24 16:43:44 -08:00
parent 82ad36e485
commit c585f312a5
52 changed files with 3576 additions and 64 deletions
@@ -0,0 +1,58 @@
// MonoGame - Copyright (C) The MonoGame Team
// This file is subject to the terms and conditions defined in
// file 'LICENSE.txt', which is part of this source code package.
using System.Collections.Generic;
using System.Xml;
namespace Microsoft.Xna.Framework.Content.Pipeline.Serialization.Intermediate
{
[ContentTypeSerializer]
class MatrixSerializer : ElementSerializer<Matrix>
{
public MatrixSerializer() :
base("Matrix", 16)
{
}
protected internal override Matrix Deserialize(string[] inputs, ref int index)
{
return new Matrix(XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]),
XmlConvert.ToSingle(inputs[index++]));
}
protected internal override void Serialize(Matrix value, List<string> results)
{
results.Add(XmlConvert.ToString(value.M11));
results.Add(XmlConvert.ToString(value.M12));
results.Add(XmlConvert.ToString(value.M13));
results.Add(XmlConvert.ToString(value.M14));
results.Add(XmlConvert.ToString(value.M21));
results.Add(XmlConvert.ToString(value.M22));
results.Add(XmlConvert.ToString(value.M23));
results.Add(XmlConvert.ToString(value.M24));
results.Add(XmlConvert.ToString(value.M31));
results.Add(XmlConvert.ToString(value.M32));
results.Add(XmlConvert.ToString(value.M33));
results.Add(XmlConvert.ToString(value.M34));
results.Add(XmlConvert.ToString(value.M41));
results.Add(XmlConvert.ToString(value.M42));
results.Add(XmlConvert.ToString(value.M43));
results.Add(XmlConvert.ToString(value.M44));
}
}
}