Class SceneLinkedSMB<TMonoBehaviour>
A custom state machine behaviour that allow to store a reference to a Monobehaviour class linked to the animator.
That allow faster and more efficient access to it on state enter/exit callback (otherwise need a GetComponent
each frame)
Inheritance
System.Object
UnityEngine.Object
UnityEngine.ScriptableObject
UnityEngine.StateMachineBehaviour
SealedSMB
SceneLinkedSMB<TMonoBehaviour>
Inherited Members
SealedSMB.OnStateEnter(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32)
SealedSMB.OnStateUpdate(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32)
SealedSMB.OnStateExit(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32)
Assembly: Assembly-CSharp.dll
Syntax
public class SceneLinkedSMB<TMonoBehaviour> : SealedSMB where TMonoBehaviour : MonoBehaviour
Type Parameters
Name |
Description |
TMonoBehaviour |
The type of the reference that will be kept
|
Fields
m_MonoBehaviour
Declaration
protected TMonoBehaviour m_MonoBehaviour
Field Value
Type |
Description |
TMonoBehaviour |
|
Methods
Initialise(Animator, TMonoBehaviour)
Declaration
public static void Initialise(Animator animator, TMonoBehaviour monoBehaviour)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
TMonoBehaviour |
monoBehaviour |
|
InternalInitialise(Animator, TMonoBehaviour)
Declaration
protected void InternalInitialise(Animator animator, TMonoBehaviour monoBehaviour)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
TMonoBehaviour |
monoBehaviour |
|
OnSLStateEnter(Animator, AnimatorStateInfo, Int32)
Called before Updates when execution of the state first starts (on transition to the state).
Declaration
public virtual void OnSLStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLStateEnter(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called before Updates when execution of the state first starts (on transition to the state).
Declaration
public virtual void OnSLStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLStateExit(Animator, AnimatorStateInfo, Int32)
Called after Updates when execution of the state first finshes (after transition from the state).
Declaration
public virtual void OnSLStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLStateExit(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called after Updates when execution of the state first finshes (after transition from the state).
Declaration
public virtual void OnSLStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLStateNoTransitionUpdate(Animator, AnimatorStateInfo, Int32)
Called every frame after PostEnter when the state is not being transitioned to or from.
Declaration
public virtual void OnSLStateNoTransitionUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLStateNoTransitionUpdate(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called every frame when the state is not being transitioned to or from.
Declaration
public virtual void OnSLStateNoTransitionUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLStatePostEnter(Animator, AnimatorStateInfo, Int32)
Called on the first frame after the transition to the state has finished.
Declaration
public virtual void OnSLStatePostEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLStatePostEnter(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called on the first frame after the transition to the state has finished.
Declaration
public virtual void OnSLStatePostEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLStatePreExit(Animator, AnimatorStateInfo, Int32)
Called on the first frame after the transition from the state has started. Note that if the transition has a duration of less than a frame, this will not be called.
Declaration
public virtual void OnSLStatePreExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLStatePreExit(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called on the first frame after the transition from the state has started. Note that if the transition has a duration of less than a frame, this will not be called.
Declaration
public virtual void OnSLStatePreExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLTransitionFromStateUpdate(Animator, AnimatorStateInfo, Int32)
Called after OnSLStatePreExit every frame during transition to the state.
Declaration
public virtual void OnSLTransitionFromStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLTransitionFromStateUpdate(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called after OnSLStatePreExit every frame during transition to the state.
Declaration
public virtual void OnSLTransitionFromStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnSLTransitionToStateUpdate(Animator, AnimatorStateInfo, Int32)
Called after OnSLStateEnter every frame during transition to the state.
Declaration
public virtual void OnSLTransitionToStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
OnSLTransitionToStateUpdate(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Called after OnSLStateEnter every frame during transition to the state.
Declaration
public virtual void OnSLTransitionToStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
OnStart(Animator)
Called by a MonoBehaviour in the scene during its Start function.
Declaration
public virtual void OnStart(Animator animator)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
OnStateEnter(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Declaration
public override sealed void OnStateEnter(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
Overrides
UnityEngine.StateMachineBehaviour.OnStateEnter(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32, UnityEngine.Animations.AnimatorControllerPlayable)
OnStateExit(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Declaration
public override sealed void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
Overrides
UnityEngine.StateMachineBehaviour.OnStateExit(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32, UnityEngine.Animations.AnimatorControllerPlayable)
OnStateUpdate(Animator, AnimatorStateInfo, Int32, AnimatorControllerPlayable)
Declaration
public override sealed void OnStateUpdate(Animator animator, AnimatorStateInfo stateInfo, int layerIndex, AnimatorControllerPlayable controller)
Parameters
Type |
Name |
Description |
UnityEngine.Animator |
animator |
|
UnityEngine.AnimatorStateInfo |
stateInfo |
|
System.Int32 |
layerIndex |
|
UnityEngine.Animations.AnimatorControllerPlayable |
controller |
|
Overrides
UnityEngine.StateMachineBehaviour.OnStateUpdate(UnityEngine.Animator, UnityEngine.AnimatorStateInfo, System.Int32, UnityEngine.Animations.AnimatorControllerPlayable)