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