private void OnEnable() { creator = (HandleTest)target; if (Path[0] == null) { creator.CreatePath(); } handleMode = AnchorModes.POSITION; Tools.hidden = true; SceneView.onSceneGUIDelegate += CustomOnSceneGUI; }
public override void OnInspectorGUI() { base.OnInspectorGUI(); EditorGUI.BeginChangeCheck(); if (GUILayout.Button("Create New")) { Undo.RecordObject(creator, "Create New"); creator.CreatePath(); currentPathIndex = 0; SceneView.RepaintAll(); } bool isClosed = GUILayout.Toggle(Path[currentPathIndex].IsClosed, "Closed"); if (isClosed != Path[currentPathIndex].IsClosed) { Undo.RecordObject(creator, "Toggle Closed"); Path[currentPathIndex].IsClosed = isClosed; } bool autoSetControlPoints = GUILayout.Toggle(Path[currentPathIndex].AutoSetControlPoints, "Auto Set Control Points"); if (autoSetControlPoints != Path[currentPathIndex].AutoSetControlPoints) { Undo.RecordObject(creator, "Toggle Auto Set Controls"); Path[currentPathIndex].AutoSetControlPoints = autoSetControlPoints; } bool transformToggle = GUILayout.Toggle(hideTransformTools, "Hide Transform Tools"); if (transformToggle != hideTransformTools) { Undo.RecordObject(creator, "Toggle Transform Tools"); hideTransformTools = transformToggle; Tools.hidden = hideTransformTools; } bool flatControlToggle = GUILayout.Toggle(FlatControls, "Flat Control Mode"); if (flatControlToggle != FlatControls) { Undo.RecordObject(creator, "Toggle Flat Controls"); FlatControls = flatControlToggle; } if (EditorGUI.EndChangeCheck()) { SceneView.RepaintAll(); } }