chore: initial commit
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
// Animancer // https://kybernetik.com.au/animancer // Copyright 2018-2026 Kybernetik //
|
||||
|
||||
using UnityEngine.Animations;
|
||||
|
||||
namespace Animancer
|
||||
{
|
||||
/// <summary>[Pro-Only]
|
||||
/// A base class that allows Animation Jobs to be easily inserted into an Animancer graph.
|
||||
/// </summary>
|
||||
///
|
||||
/// <remarks>
|
||||
/// <strong>Documentation:</strong>
|
||||
/// <see href="https://kybernetik.com.au/animancer/docs/manual/ik#animated-properties">
|
||||
/// Animated Properties</see>
|
||||
/// </remarks>
|
||||
///
|
||||
/// https://kybernetik.com.au/animancer/api/Animancer/AnimancerJob_1
|
||||
///
|
||||
public abstract class AnimancerJob<T> where T : struct, IAnimationJob
|
||||
{
|
||||
/************************************************************************************************************************/
|
||||
|
||||
/// <summary>The <see cref="IAnimationJob"/>.</summary>
|
||||
protected T _Job;
|
||||
|
||||
/// <summary>The <see cref="AnimationScriptPlayable"/> running the job.</summary>
|
||||
protected AnimationScriptPlayable _Playable;
|
||||
|
||||
/************************************************************************************************************************/
|
||||
|
||||
/// <summary>Creates the <see cref="_Playable"/> and inserts it between the root and the graph output.</summary>
|
||||
protected void CreatePlayable(AnimancerGraph animancer)
|
||||
{
|
||||
_Playable = animancer.InsertOutputJob(_Job);
|
||||
}
|
||||
|
||||
/************************************************************************************************************************/
|
||||
|
||||
/// <summary>
|
||||
/// Destroys the <see cref="_Playable"/> and restores the graph connection it was intercepting.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// This method is NOT called automatically, so if you need to guarantee that things will get cleaned up you
|
||||
/// should use <see cref="AnimancerGraph.Disposables"/>.
|
||||
/// </remarks>
|
||||
public virtual void Destroy()
|
||||
{
|
||||
AnimancerUtilities.RemovePlayable(_Playable);
|
||||
}
|
||||
|
||||
/************************************************************************************************************************/
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user