private void DoOffsetManipulator() { if (base.get_targets().Length <= 1) { if (!(base.timelineWindow == null) && base.timelineWindow.state != null && !(base.timelineWindow.state.currentDirector == null)) { AnimationTrack animationTrack = base.get_target() as AnimationTrack; if (animationTrack != null && animationTrack.applyOffsets && this.m_OffsetEditMode != TimelineAnimationUtilities.OffsetEditMode.None) { GameObject sceneGameObject = TimelineUtility.GetSceneGameObject(base.timelineWindow.state.currentDirector, animationTrack); Transform transform = (!(sceneGameObject != null)) ? null : sceneGameObject.get_transform(); TimelineAnimationUtilities.RigidTransform trackOffsets = TimelineAnimationUtilities.GetTrackOffsets(animationTrack, transform); EditorGUI.BeginChangeCheck(); TimelineAnimationUtilities.OffsetEditMode offsetEditMode = this.m_OffsetEditMode; if (offsetEditMode != TimelineAnimationUtilities.OffsetEditMode.Translation) { if (offsetEditMode == TimelineAnimationUtilities.OffsetEditMode.Rotation) { trackOffsets.rotation = Handles.RotationHandle(trackOffsets.rotation, trackOffsets.position); } } else { trackOffsets.position = Handles.PositionHandle(trackOffsets.position, (Tools.get_pivotRotation() != 1) ? trackOffsets.rotation : Quaternion.get_identity()); } if (EditorGUI.EndChangeCheck()) { TimelineAnimationUtilities.UpdateTrackOffset(animationTrack, transform, trackOffsets); this.Evaluate(); base.Repaint(); } } } } }
private void ClipRootMotionOffsetsGUI() { this.m_PositionProperty.set_isExpanded(EditorGUILayout.Foldout(this.m_PositionProperty.get_isExpanded(), AnimationPlayableAssetInspector.Styles.ClipOffsetTitle)); if (this.m_PositionProperty.get_isExpanded()) { float num = 0f; float num2 = 0f; EditorGUI.set_indentLevel(EditorGUI.get_indentLevel() + 1); TimelineAnimationUtilities.OffsetEditMode offsetEditMode = this.m_OffsetEditMode; AnimationTrackInspector.ShowMotionOffsetEditModeToolbar(ref this.m_OffsetEditMode); if (offsetEditMode != this.m_OffsetEditMode) { this.SetTimeToClip(); SceneView.RepaintAll(); } EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); EditorGUILayout.PropertyField(this.m_PositionProperty, new GUILayoutOption[0]); GUI.get_skin().get_button().CalcMinMaxWidth(AnimationPlayableAssetInspector.Styles.PositionIcon, ref num, ref num2); EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(new GUILayoutOption[0]); AnimationPlayableAssetInspector.ShowRotationField(this.m_RotationProperty); EditorGUILayout.EndHorizontal(); EditorGUILayout.Space(); EditorGUI.set_indentLevel(EditorGUI.get_indentLevel() - 1); } }
public static void ShowMotionOffsetEditModeToolbar(ref TimelineAnimationUtilities.OffsetEditMode motionOffset) { GUILayout.BeginHorizontal(new GUILayoutOption[0]); GUILayout.FlexibleSpace(); GUILayout.FlexibleSpace(); int num = GUILayout.Toolbar((int)motionOffset, new GUIContent[] { AnimationTrackInspector.Styles.PositionIcon, AnimationTrackInspector.Styles.RotationIcon }, new GUILayoutOption[0]); if (GUI.get_changed()) { if (motionOffset == (TimelineAnimationUtilities.OffsetEditMode)num) { motionOffset = TimelineAnimationUtilities.OffsetEditMode.None; } else { motionOffset = (TimelineAnimationUtilities.OffsetEditMode)num; } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(3f); }
public static void ShowMotionOffsetEditModeToolbar(ref TimelineAnimationUtilities.OffsetEditMode motionOffset) { GUILayout.BeginHorizontal(); GUILayout.FlexibleSpace(); GUILayout.FlexibleSpace(); int newMotionOffsetMode = GUILayout.Toolbar((int)motionOffset, new[] { Styles.PositionIcon, Styles.RotationIcon }); if (GUI.changed) { if ((int)motionOffset == newMotionOffsetMode) //untoggle the button { motionOffset = TimelineAnimationUtilities.OffsetEditMode.None; } else { motionOffset = (TimelineAnimationUtilities.OffsetEditMode)newMotionOffsetMode; } } GUILayout.FlexibleSpace(); GUILayout.EndHorizontal(); GUILayout.Space(3); }