public override void BaseGUI() { base.BaseGUI(); SplinePositioner positioner = (SplinePositioner)target; positioner.mode = (SplinePositioner.Mode)EditorGUILayout.EnumPopup("Mode", positioner.mode); if (positioner.mode == SplinePositioner.Mode.Distance) { positioner.position = EditorGUILayout.FloatField("Distance", (float)positioner.position); } else { positioner.position = EditorGUILayout.Slider("Percent", (float)positioner.position, 0f, 1f); } positioner.applyTransform = (Transform)EditorGUILayout.ObjectField("Apply transform", positioner.applyTransform, typeof(Transform), true); positioner.applyPosition = EditorGUILayout.Toggle("Apply position", positioner.applyPosition); if (positioner.applyPosition) { positioner.offset = EditorGUILayout.Vector2Field("Offset", positioner.offset); } positioner.applyRotation = EditorGUILayout.Toggle("Apply rotation", positioner.applyRotation); if (positioner.applyRotation) { positioner.rotationOffset = EditorGUILayout.Vector3Field("Offset rotation", positioner.rotationOffset); } positioner.applyScale = EditorGUILayout.Toggle("Apply scale", positioner.applyScale); if (positioner.applyScale) { positioner.baseScale = EditorGUILayout.Vector3Field("Base scale", positioner.baseScale); } }
protected override void BodyGUI() { EditorGUILayout.Space(); SplinePositioner positioner = (SplinePositioner)target; positioner.mode = (SplinePositioner.Mode)EditorGUILayout.EnumPopup("Mode", positioner.mode); if (positioner.mode == SplinePositioner.Mode.Distance) { positioner.position = EditorGUILayout.FloatField("Distance", (float)positioner.position); } else { double pos = positioner.ClipPercent(positioner.result.percent); EditorGUI.BeginChangeCheck(); pos = EditorGUILayout.Slider("Percent", (float)pos, 0f, 1f); if (EditorGUI.EndChangeCheck()) { positioner.position = pos; } } positioner.targetObject = (GameObject)EditorGUILayout.ObjectField("Target object", positioner.targetObject, typeof(GameObject), true); base.BodyGUI(); }