using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Graphics; namespace Kav.Data { public struct MeshSpriteDrawData : IIndexDrawable, ICullable, ITransformable { public SpriteMesh MeshSprite { get; } public Texture2D Texture { get; } public Texture2D Normal { get; } public SpriteBillboardConstraint BillboardConstraint { get; } public Matrix TransformMatrix { get; } public UVData UVOffset { get; } public IndexBuffer IndexBuffer => MeshSprite.IndexBuffer; public VertexBuffer VertexBuffer => MeshSprite.VertexBuffer; public BoundingBox BoundingBox => MeshSprite.BoundingBox; public MeshSpriteDrawData( SpriteMesh meshSprite, Texture2D texture, Texture2D normal, SpriteBillboardConstraint billboardConstraint, Matrix transformMatrix, UVData offset ) { MeshSprite = meshSprite; Texture = texture; Normal = normal; BillboardConstraint = billboardConstraint; TransformMatrix = transformMatrix; UVOffset = offset; } } }