From a7b0a123831550f57ddb13b21da8584c63d9f995 Mon Sep 17 00:00:00 2001 From: jimmy b Date: Sat, 18 May 2024 13:14:32 -0500 Subject: [PATCH] Changed the Flip Flag array to be private and readonly and added a public property that returns the backing field as a ReadOnlySpan. --- .../Renderers/TiledMapAnimatedLayerModel.cs | 7 +++++-- .../MonoGame.Extended.Tiled/Renderers/TiledMapRenderer.cs | 3 +-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs b/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs index 4d9a1fcd..791819af 100644 --- a/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs +++ b/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapAnimatedLayerModel.cs @@ -1,4 +1,5 @@ using Microsoft.Xna.Framework.Graphics; +using System; namespace MonoGame.Extended.Tiled.Renderers { @@ -9,12 +10,14 @@ namespace MonoGame.Extended.Tiled.Renderers { Vertices = vertices; AnimatedTilesetTiles = animatedTilesetTiles; - AnimatedTilesetFlipFlags = animatedTilesetTileFlipFlags; + _animatedTilesetFlipFlags = animatedTilesetTileFlipFlags; } public VertexPositionTexture[] Vertices { get; } public TiledMapTilesetAnimatedTile[] AnimatedTilesetTiles { get; } - public TiledMapTileFlipFlags[] AnimatedTilesetFlipFlags { get; } + private readonly TiledMapTileFlipFlags[] _animatedTilesetFlipFlags; + + public ReadOnlySpan AnimatedTilesetFlipFlags => _animatedTilesetFlipFlags; protected override VertexBuffer CreateVertexBuffer(GraphicsDevice graphicsDevice, int vertexCount) { diff --git a/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapRenderer.cs b/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapRenderer.cs index c76a0846..66babadf 100644 --- a/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapRenderer.cs +++ b/src/cs/MonoGame.Extended.Tiled/Renderers/TiledMapRenderer.cs @@ -61,9 +61,8 @@ namespace MonoGame.Extended.Tiled.Renderers fixed (VertexPositionTexture* fixedVerticesPointer = animatedModel.Vertices) { var verticesPointer = fixedVerticesPointer; - for (int i = 0; i < animatedModel.AnimatedTilesetTiles.Length; i++) - { + { var currentFrameTextureCoordinates = animatedModel.AnimatedTilesetTiles[i].CurrentAnimationFrame.GetTextureCoordinates(animatedModel.AnimatedTilesetFlipFlags[i]); // ReSharper disable ArrangeRedundantParentheses