MixerTransitionDrawer Class

Summary

[Editor-Only] Draws the Inspector GUI for a Transition<TMixer, TParameter>.
graph BT Type-->Base0["ManualMixerTransition.Drawer"] click Base0 "/animancer/api/Animancer/Drawer" Base0-->Base1["TransitionDrawer"] click Base1 "/animancer/api/Animancer.Editor/TransitionDrawer" Base1-->Base2["PropertyDrawer"] Type["MixerTransitionDrawer"] class Type type-node Derived0["MixerTransition2D.Drawer"]-->Type click Derived0 "/animancer/api/Animancer/Drawer" Derived1["LinearMixerTransition.Drawer"]-->Type click Derived1 "/animancer/api/Animancer/Drawer"

Syntax

public class MixerTransitionDrawer : ManualMixerTransition.Drawer

Remarks

Documentation: Transitions and Mixers

Constructors

Name Summary
MixerTransitionDrawer() Creates a new Animancer.MixerTransitionDrawer using the default Animancer.MixerTransitionDrawer.StandardThresholdWidth.
MixerTransitionDrawer(float) Creates a new Animancer.MixerTransitionDrawer using a custom width for its threshold labels.

Fields

Name Constant Value Summary
MainPropertyName
If set, the field with this name will be drawn on the header line with the foldout arrow instead of in its regular place.
Inherited from TransitionDrawer
MainPropertyPathSuffix
"." + Animancer.Editor.TransitionDrawer.MainPropertyName (to avoid creating garbage repeatedly).
Inherited from TransitionDrawer
NormalizedStartTimeFieldName _NormalizedStartTime
The name of the backing field of ClipTransition.NormalizedStartTime.
Inherited from TransitionDrawer
static
TwoLineMode
Should two lines be used to draw each child?
static

Properties

Name Value Summary
Context TransitionDrawer.DrawerContext
The current Animancer.Editor.TransitionDrawer.DrawerContext.
Inherited from TransitionDrawer
static
CurrentAnimations SerializedProperty
The Animancer.ManualMixerTransition`1.Animations field.
static
CurrentProperty SerializedProperty
The property this drawer is currently drawing.
static
CurrentSpeeds SerializedProperty
The Animancer.ManualMixerTransition`1.Speeds field.
static
CurrentSynchronizeChildren SerializedProperty
The Animancer.ManualMixerTransition`1.SynchronizeChildren field.
static
CurrentThresholds SerializedProperty
The serialized Animancer.MixerTransition`2.Thresholds of the Animancer.ManualMixerTransition.Drawer.CurrentProperty.
static
PreviewButtonStyle GUIStyle
The style used for the button that opens the Animancer.Editor.TransitionPreviewWindow.
Inherited from TransitionDrawer
static
StandardThresholdWidth float
The number of horizontal pixels the word "Threshold" occupies when drawn with the UnityEditor.EditorStyles.popup style.
static

Methods

Name Value Summary
AddPropertyModifierFunction(GenericMenu, string, Action<SerializedProperty>) void
Adds a menu item that will call Animancer.ManualMixerTransition.Drawer.GatherSubProperties(UnityEditor.SerializedProperty) then run the specified `function`.
AddPropertyModifierFunction(GenericMenu, string, MenuFunctionState, Action<SerializedProperty>) void
Adds a menu item that will call Animancer.ManualMixerTransition.Drawer.GatherSubProperties(UnityEditor.SerializedProperty) then run the specified `function`.
AddThresholdFunctionsToMenu(GenericMenu) void
Adds functions to the `menu` relating to the thresholds.
CanCacheInspectorGUI(SerializedProperty) bool
Can't cache because it breaks the Animancer.Editor.TimelineGUI.
Inherited from TransitionDrawer
DoAnimationField(Rect, SerializedProperty) void
Draws an UnityEditor.EditorGUI.ObjectField(UnityEngine.Rect,UnityEngine.GUIContent,UnityEngine.Object,System.Type,System.Boolean) that accepts UnityEngine.AnimationClips and Animancer.ITransitions
static
DoAnimationHeaderGUI(Rect) void
Draws an "Animation" header.
DoChildListFooterGUI(Rect) void
Draws the footer of the child list.
DoChildListHeaderGUI(Rect) void
Draws the headdings of the child list.
DoChildPropertyGUI(Rect, SerializedProperty, SerializedProperty, GUIContent) void
DoElementGUI(Rect, int, SerializedProperty, SerializedProperty) void
Draws the GUI of the animation at the specified `index`.
DoHeaderDropdownGUI(Rect, SerializedProperty, GUIContent, Action<GenericMenu>) void
Draws the GUI for a header dropdown button.
static
DoHeaderGUI(Rect, SerializedProperty, SerializedProperty, GUIContent, bool) void
Draws the root property of a transition with an optional main property on the same line.
Inherited from TransitionDrawer
DoMainPropertyGUI(Rect, Rect, SerializedProperty, SerializedProperty) void
Draws the GUI the the target transition's main property.
Inherited from TransitionDrawer
DoPreviewButtonGUI(Rect, bool, string) bool
Draws a small button using the Animancer.Editor.TransitionPreviewWindow.Icon.
Inherited from TransitionDrawer
static
DoSpeedFieldGUI(Rect, SerializedProperty, int) void
Draws a toggle to enable or disable Animancer.ManualMixerState.SynchronizedChildren for the child at the specified `index`.
DoSpeedHeaderGUI(Rect) void
Draws a "Speed" header.
DoSyncHeaderGUI(Rect) void
Draws a "Sync" header.
DoSyncToggleGUI(Rect, int) void
Draws a toggle to enable or disable Animancer.ManualMixerState.SynchronizedChildren for the child at the specified `index`.
DoThresholdGUI(Rect, int) void
Draws the GUI of the threshold at the specified `index`.
GatherDetails(SerializedProperty) ReorderableList
Gather the details of the `property`.
GatherSubProperties(SerializedProperty) void
Called every time a `property` is drawn to find the relevant child properties and store them to be used in Animancer.ManualMixerTransition.Drawer.GetPropertyHeight(UnityEditor.SerializedProperty,UnityEngine.GUIContent) and Animancer.ManualMixerTransition.Drawer.OnGUI(UnityEngine.Rect,UnityEditor.SerializedProperty,UnityEngine.GUIContent).
GetElementHeight(int) float
Calculates the height of the state at the specified `index`.
GetPropertyHeight(SerializedProperty, GUIContent) float
InitializeMode(SerializedProperty) void
If the Animancer.Editor.TransitionDrawer._Mode is Animancer.Editor.TransitionDrawer.Mode.Uninitialized, this method determines how it should start based on the number of properties in the `serializedObject`. If the only serialized field is an Animancer.ITransition then it should start expanded.
Inherited from TransitionDrawer
InitializeSpeeds(int) void
Initializes every element in the Animancer.ManualMixerTransition.Drawer.CurrentSpeeds array from the `start` to the end of the array to contain a value of 1.
static
IsClipOrTransition(Object) bool
Is the `clipOrTransition` an UnityEngine.AnimationClip or Animancer.ITransition?
static
OnAddElement(int) void
Called when adding a new state to the list to ensure that any other relevant arrays have new elements added as well.
OnGUI(Rect, SerializedProperty, GUIContent) void
Draws the root `property` GUI and calls Animancer.Editor.TransitionDrawer.DoChildPropertyGUI(UnityEngine.Rect@,UnityEditor.SerializedProperty,UnityEditor.SerializedProperty,UnityEngine.GUIContent) for each of its children.
OnRemoveElement(ReorderableList) void
Called when removing a state from the list to ensure that any other relevant arrays have elements removed as well.
OnReorderList(ReorderableList, int, int) void
Called when reordering states in the list to ensure that any other relevant arrays have their corresponding elements reordered as well.
ResizeList(int) void
Sets the number of items in the child list.
SplitListRect(Rect, bool, Rect, Rect, Rect) void
Splits the specified `area` into separate sections.
static
SplitListRect(Rect, bool, Rect, Rect, Rect, Rect) void
Splits the specified `area` into separate sections.
TryCollapseArrays() void
Calls Animancer.ManualMixerTransition.Drawer.TryCollapseSpeeds and Animancer.ManualMixerTransition.Drawer.TryCollapseSync.
static
TryCollapseSpeeds() void
If every element in the Animancer.ManualMixerTransition.Drawer.CurrentSpeeds array is 1, this method sets the array size to 0.
static
TryCollapseSync() void
Removes any true elements from the end of the Animancer.ManualMixerTransition.Drawer.CurrentSynchronizeChildren array.
static
TryDoStartTimeField(Rect, SerializedProperty, SerializedProperty, GUIContent) bool
If the `property` is a "Start Time" field, this method draws it as well as the "End Time" below it and returns true.
Inherited from TransitionDrawer
static