Esempio n. 1
0
        private void DrawCurrentSelectedState(AnimationStateWrapper.Type type)
        {
            bool markDirty = false;

            StateDataDrawer.ReloadCheck();
            AnimationPlayerState selectedState = null;

            if (type == AnimationStateWrapper.Type.BlendTree1D)
            {
                selectedState = animationStateWrapper.blendTree1D;
            }
            else if (type == AnimationStateWrapper.Type.BlendTree2D)
            {
                selectedState = animationStateWrapper.blendTree2D;
            }
            else if (type == AnimationStateWrapper.Type.PlayRandomClip)
            {
                selectedState = animationStateWrapper.playRandomClip;
            }
            else if (type == AnimationStateWrapper.Type.SingleClip)
            {
                selectedState = animationStateWrapper.singleClip;
            }

            if (selectedState != null)
            {
                StateDataDrawer.DrawStateData(selectedState, ref markDirty);
            }

            if (markDirty)
            {
                EditorUtility.SetDirty(animationStateWrapper);
            }
        }
        private void DrawSelectedState()
        {
            EditorGUILayout.BeginHorizontal(editLayerButton_Background);

            //Making tabbed views are hard!
            var editStatesRect      = EditorUtilities.ReserveRect();
            var editTransitionsRect = EditorUtilities.ReserveRect();
            var eventsRect          = EditorUtilities.ReserveRect();
            var metaDataRect        = EditorUtilities.ReserveRect();

            EditorGUILayout.EndHorizontal();

            DrawTabHeader(editStatesRect, "Clips", 0);
            DrawTabHeader(editTransitionsRect, "Transitions", 1);
            DrawTabHeader(eventsRect, "Events", 2);
            DrawTabHeader(metaDataRect, "Metadata", 3);

            EditorGUILayout.BeginVertical(editLayerStyle);

            GUILayout.Space(10f);

            switch ((AnimationPlayerEditMode)selectedEditMode)
            {
            case AnimationPlayerEditMode.States:
                StateDataDrawer.DrawStateData(animationPlayer, selectedLayer, selectedState, this);
                break;

            case AnimationPlayerEditMode.Transitions:
                AnimationTransitionDrawer.DrawTransitions(animationPlayer, selectedLayer, selectedState, selectedToState, allStateNames[selectedLayer]);
                break;

            case AnimationPlayerEditMode.Events:
                DrawEvents();
                break;

            case AnimationPlayerEditMode.MetaData:
                metaDataDrawer.DrawMetaData();
                break;
            }

            GUILayout.Space(20f);
            EditorGUILayout.EndVertical();
        }