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(); } };