Ejemplo n.º 1
0
 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();
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 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);
     }
 }
Ejemplo n.º 3
0
        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);
        }