using Spine.Interfaces.Attachments;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Spine.Interfaces
{
public interface ISkeletonClipping
{
///
/// 是否正处于裁剪
///
public bool IsClipping { get; }
///
/// 裁剪后的顶点数组
///
public float[] ClippedVertices { get; }
///
/// 裁剪后的顶点数组 长度
///
public int ClippedVerticesLength { get; }
///
/// 裁剪后的三角形索引数组
///
public int[] ClippedTriangles { get; }
///
/// 裁剪后的三角形索引数组 长度
///
public int ClippedTrianglesLength { get; }
///
/// 裁剪后的 UV 数组
///
public float[] ClippedUVs { get; }
///
/// 进行裁剪, 裁剪后的结果通过属性获取
///
public void ClipTriangles(float[] vertices, int verticesLength, int[] triangles, int trianglesLength, float[] uvs);
///
/// 开始裁剪
///
public void ClipStart(ISlot slot, IClippingAttachment clippingAttachment);
///
/// 判断输入插槽是否需要结束裁剪并结束裁剪
///
public void ClipEnd(ISlot slot);
///
/// 结束裁剪
///
public void ClipEnd();
}
}