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); }
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); } }); } }