| 12345678910111213141516171819202122232425262728293031323334353637383940 |
- 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));
- }
- }
- }
- }
|