Files
2024-05-18 19:59:41 -04:00

40 lines
1.4 KiB
C#

using Microsoft.Xna.Framework.Content.Pipeline;
using Microsoft.Xna.Framework.Content.Pipeline.Serialization.Compiler;
namespace MonoGame.Extended.Content.Pipeline.Animations
{
[ContentTypeWriter]
public class AstridAnimatorWriter : ContentTypeWriter<AstridAnimatorProcessorResult>
{
public override string GetRuntimeReader(TargetPlatform targetPlatform)
{
return "MonoGame.Extended.Animations.SpriteSheets.SpriteSheetAnimationFactoryReader, MonoGame.Extended.Animations";
}
protected override void Write(ContentWriter writer, AstridAnimatorProcessorResult input)
{
var data = input.Data;
writer.Write(input.TextureAtlasAssetName);
writer.Write(input.Frames.Count);
foreach (var frame in input.Frames)
writer.Write(frame);
writer.Write(data.Animations.Count);
foreach (var animation in data.Animations)
{
writer.Write(animation.Name);
writer.Write(animation.FramesPerSecond);
writer.Write(animation.IsLooping);
writer.Write(animation.IsReversed);
writer.Write(animation.IsPingPong);
writer.Write(animation.Frames.Count);
foreach (var frame in animation.Frames)
writer.Write(input.Frames.IndexOf(frame));
}
}
}
}