TransitionDrawer Class

Summary

[Editor-Only] Draws the Inspector GUI for an Animancer.ITransitionDetailed.
graph BT Type-->Base0["PropertyDrawer"] Type-.->Interface0["IPolymorphic"] click Interface0 "/animancer/api/Animancer/IPolymorphic" Type["TransitionDrawer"] class Type type-node Derived0["PlayableAssetTransitionDrawer"]-->Type click Derived0 "/animancer/api/Animancer.Editor/PlayableAssetTransitionDrawer" Derived1["ManualMixerTransitionDrawer"]-->Type click Derived1 "/animancer/api/Animancer.Editor/ManualMixerTransitionDrawer" Derived2["ControllerTransitionDrawer"]-->Type click Derived2 "/animancer/api/Animancer.Editor/ControllerTransitionDrawer" Derived3["DirectionalClipTransitionDrawer"]-->Type click Derived3 "/animancer/api/Animancer.Editor/DirectionalClipTransitionDrawer" Derived4["ClipTransitionDrawer"]-->Type click Derived4 "/animancer/api/Animancer.Editor/ClipTransitionDrawer"

Syntax

[CustomPropertyDrawer(typeof(ITransitionDetailed), true)]
public class TransitionDrawer : PropertyDrawer, IPolymorphic

Attributes

Type Description
CustomPropertyDrawer

Constructors

Name Summary
TransitionDrawer() Creates a new Animancer.Editor.TransitionDrawer.
TransitionDrawer(string) Creates a new Animancer.Editor.TransitionDrawer and sets the Animancer.Editor.TransitionDrawer.MainPropertyName.

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.
MainPropertyPathSuffix
"." + Animancer.Editor.TransitionDrawer.MainPropertyName (to avoid creating garbage repeatedly).
NormalizedStartTimeFieldName _NormalizedStartTime
The name of the backing field of ClipTransition.NormalizedStartTime.
static

Properties

Name Value Summary
Context TransitionDrawer.DrawerContext
The current Animancer.Editor.TransitionDrawer.DrawerContext.
static
PreviewButtonStyle GUIStyle
The style used for the button that opens the Animancer.Editor.Previews.TransitionPreviewWindow.
static

Methods

Name Value Summary
DoChildPropertyGUI(Rect, SerializedProperty, SerializedProperty, GUIContent) void
Draws the `property` GUI in relation to the `rootProperty` which was passed into Animancer.Editor.TransitionDrawer.OnGUI(UnityEngine.Rect,UnityEditor.SerializedProperty,UnityEngine.GUIContent).
DoHeaderGUI(Rect, SerializedProperty, SerializedProperty, GUIContent, bool) void
Draws the root property of a transition with an optional main property on the same line.
DoMainPropertyGUI(Rect, Rect, SerializedProperty, SerializedProperty) void
Draws the GUI the the target transition's main property.
DoPreviewButtonGUI(Rect, bool, string) bool
Draws a small button using the Animancer.Editor.Previews.TransitionPreviewWindow.Icon.
static
GetPropertyHeight(SerializedProperty, GUIContent) float
Returns the number of vertical pixels the `property` will occupy when it is drawn.
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.
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.
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.
static