void EditCommand(CommandDefinition def)
    {
        DEditorGUI.WithLabel("Correction Interpolation", () =>
        {
            def.SmoothFrames = DEditorGUI.IntFieldOverlay(def.SmoothFrames, "Frames");
        });

        //DEditorGUI.WithLabel("Compress Zero Values", () => {
        //  def.CompressZeroValues = EditorGUILayout.Toggle(def.CompressZeroValues);
        //});

        // add button
        DEditorGUI.Header("Input", "commands");
        GUILayout.Space(2);
        EditPropertyList(def, def.Input);

        // add button
        DEditorGUI.Header("Result", "position");
        GUILayout.Space(2);
        EditPropertyList(def, def.Result);
    }
 void Header(string text, string icon)
 {
     DEditorGUI.Header(text, icon);
 }
Example #3
0
    protected override void Edit(bool array)
    {
        DEditorGUI.WithLabel("Space",
                             () => { PropertyType.Space = (TransformSpaces)EditorGUILayout.EnumPopup(PropertyType.Space); });

        DEditorGUI.EditSmoothingAlgorithm(Asset, Definition);

        DEditorGUI.Header("Position", "position");

        DEditorGUI.WithLabel("Axes",
                             () => { PropertyType.PositionSelection = DEditorGUI.EditAxisSelection(PropertyType.PositionSelection); });

        if (PropertyType.PositionSelection != AxisSelections.Disabled)
        {
            if (Asset is StateDefinition)
            {
                DEditorGUI.WithLabel("Strict Comparison",
                                     () =>
                {
                    PropertyType.PositionStrictCompare = EditorGUILayout.Toggle(PropertyType.PositionStrictCompare);
                });

                DEditorGUI.WithLabel("Teleport Threshold",
                                     () =>
                {
                    Definition.StateAssetSettings.SnapMagnitude =
                        EditorGUILayout.FloatField(Definition.StateAssetSettings.SnapMagnitude);
                });
            }

            DEditorGUI.WithLabel("Compression",
                                 () => { DEditorGUI.EditAxes(PropertyType.PositionCompression, PropertyType.PositionSelection); });
        }


        DEditorGUI.Header("Rotation", "rotation");

        DEditorGUI.WithLabel("Axes",
                             () => { PropertyType.RotationSelection = DEditorGUI.EditAxisSelection(PropertyType.RotationSelection); });

        if (PropertyType.RotationSelection != AxisSelections.Disabled)
        {
            if (Asset is StateDefinition)
            {
                DEditorGUI.WithLabel("Strict Comparison",
                                     () =>
                {
                    PropertyType.RotationStrictCompare = EditorGUILayout.Toggle(PropertyType.RotationStrictCompare);
                });
            }

            bool quaternion = PropertyType.RotationSelection == AxisSelections.XYZ;

            DEditorGUI.WithLabel(quaternion ? "Compression (Quaternion)" : "Compression (Euler)", () =>
            {
                if (quaternion)
                {
                    PropertyType.RotationCompressionQuaternion =
                        DEditorGUI.EditFloatCompression(PropertyType.RotationCompressionQuaternion);
                }
                else
                {
                    DEditorGUI.EditAxes(PropertyType.RotationCompression, PropertyType.RotationSelection);
                }
            });
        }
    }