using Unity.Jobs;
using Unity.Collections;
using Unity.Mathematics;
namespace UnityEngine.U2D
{
///
/// Custom Post Processing after geometry is generated.
///
public abstract class SpriteShapeGeometryModifier : ScriptableObject
{
///
/// Modify generated geometry or override custom geometry.
///
/// JobHandle of the Main Job. default if Override.
/// SpriteShapeController from where this function is invoked from.
/// Indices of generated geometry.
/// Position of vertices in generated geometry.
/// Texture Coordinates of vertices in generated geometry.
/// Tangent of vertices in generated geometry.
/// Submeshes in generated geometry.
/// Points that define the path of Collider.
///
public abstract JobHandle MakeModifierJob(JobHandle generator, SpriteShapeController spriteShapeController, NativeArray indices,
NativeSlice positions, NativeSlice texCoords, NativeSlice tangents,
NativeArray segments, NativeArray colliderData);
///
/// Get Versioning so we can check if geometry needs to be generated.
///
///
public virtual int GetVersion() => GetInstanceID();
}
};