protected override void Edit(bool array) { DEditorGUI.EditSmoothingAlgorithm(Asset, Definition, false); DEditorGUI.WithLabel("Axes", () => { PropertyType.Selection = DEditorGUI.EditAxisSelection(PropertyType.Selection); }); if (Asset is StateDefinition) { DEditorGUI.WithLabel("Strict Comparison", () => { PropertyType.StrictEquality = EditorGUILayout.Toggle(PropertyType.StrictEquality); }); } if (PropertyType.Selection != AxisSelections.Disabled) { bool quaternion = PropertyType.Selection == AxisSelections.XYZ; DEditorGUI.WithLabel(quaternion ? "Quaternion Compression" : "Axis Compression", () => { if (quaternion) { PropertyType.QuaternionCompression = DEditorGUI.EditFloatCompression(PropertyType.QuaternionCompression); } else { DEditorGUI.EditAxes(PropertyType.EulerCompression, PropertyType.Selection); } }); } }
protected override void Edit(bool array) { DEditorGUI.EditSmoothingAlgorithm(Asset, Definition, false); if (Asset is StateDefinition) { if (Definition.StateAssetSettings.SmoothingAlgorithm == SmoothingAlgorithms.Interpolation) { DEditorGUI.WithLabel("Interpolation Mode", () => { PropertyType.IsAngle = DEditorGUI.ToggleDropdown("As Angle", "As Float", PropertyType.IsAngle); }); } } DEditorGUI.WithLabel("Compression", () => { PropertyType.Compression = DEditorGUI.EditFloatCompression(PropertyType.Compression); }); }
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); } }); } }