/************************************************************************************************************************/ #endregion /************************************************************************************************************************/ #region Initialisation /************************************************************************************************************************/ #if UNITY_EDITOR /// <summary>[Editor-Only] /// Sets <see cref="PlayAutomatically"/> = false by default so that <see cref="OnEnable"/> will play the /// <see cref="Controller"/> instead of the first animation in the /// <see cref="NamedAnimancerComponent.Animations"/> array. /// </summary> /// <remarks> /// Called by the Unity Editor when this component is first added (in Edit Mode) and whenever the Reset command /// is executed from its context menu. /// </remarks> protected override void Reset() { base.Reset(); if (Animator != null) { Controller = Animator.runtimeAnimatorController; Animator.runtimeAnimatorController = null; } PlayAutomatically = false; }
/************************************************************************************************************************/ #endregion /************************************************************************************************************************/ #region Initialisation /************************************************************************************************************************/ #if UNITY_EDITOR /// <summary>[Editor-Only] /// Called by the Unity Editor when this component is first added (in Edit Mode) and whenever the Reset command /// is executed from its context menu. /// <para></para> /// Sets <see cref="PlayAutomatically"/> = false by default so that <see cref="OnEnable"/> will play the /// <see cref="Controller"/> instead of the first animation in the /// <see cref="NamedAnimancerComponent.Animations"/> array. /// </summary> protected override void Reset() { // The base.Animator property is not assigned yet and we need it before base.Reset clears the controller. var animator = Editor.AnimancerEditorUtilities.GetComponentInHierarchy <Animator>(gameObject); if (animator != null && animator.runtimeAnimatorController != null) { Controller = animator.runtimeAnimatorController; } base.Reset(); PlayAutomatically = false; }