diff options
Diffstat (limited to 'Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs')
-rw-r--r-- | Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs new file mode 100644 index 0000000..791819a --- /dev/null +++ b/Plugins/MonoGame.Extended/source/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs @@ -0,0 +1,32 @@ +using Microsoft.Xna.Framework.Graphics; +using System; + +namespace MonoGame.Extended.Tiled.Renderers +{ + public sealed class TiledMapAnimatedLayerModel : TiledMapLayerModel + { + public TiledMapAnimatedLayerModel(GraphicsDevice graphicsDevice, Texture2D texture, VertexPositionTexture[] vertices, ushort[] indices, TiledMapTilesetAnimatedTile[] animatedTilesetTiles, TiledMapTileFlipFlags[] animatedTilesetTileFlipFlags) + : base(graphicsDevice, texture, vertices, indices) + { + Vertices = vertices; + AnimatedTilesetTiles = animatedTilesetTiles; + _animatedTilesetFlipFlags = animatedTilesetTileFlipFlags; + } + + public VertexPositionTexture[] Vertices { get; } + public TiledMapTilesetAnimatedTile[] AnimatedTilesetTiles { get; } + private readonly TiledMapTileFlipFlags[] _animatedTilesetFlipFlags; + + public ReadOnlySpan<TiledMapTileFlipFlags> AnimatedTilesetFlipFlags => _animatedTilesetFlipFlags; + + protected override VertexBuffer CreateVertexBuffer(GraphicsDevice graphicsDevice, int vertexCount) + { + return new DynamicVertexBuffer(graphicsDevice, VertexPositionTexture.VertexDeclaration, vertexCount, BufferUsage.WriteOnly); + } + + protected override IndexBuffer CreateIndexBuffer(GraphicsDevice graphicsDevice, int indexCount) + { + return new DynamicIndexBuffer(graphicsDevice, IndexElementSize.SixteenBits, indexCount, BufferUsage.WriteOnly); ; + } + } +} |