void Spline() { var centerStyle = new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 18 }; EditorGUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Spline", centerStyle, GUILayout.ExpandWidth(true)); centerStyle = new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleLeft, fontStyle = FontStyle.Bold }; EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Clear")) { SceneViewDisplay.Spline_Clear(SPData); FocusSceneView(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("Actions:", centerStyle, GUILayout.ExpandWidth(true)); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Reverse")) { SceneViewDisplay.Spline_Reverse(SPData); FocusSceneView(); } if (SPData.Close) { if (GUILayout.Button("Open")) { SceneViewDisplay.Spline_Open(SPData); FocusSceneView(); } } else { if (GUILayout.Button("Close")) { SceneViewDisplay.Spline_Close(SPData); FocusSceneView(); } } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }
protected virtual void OnSceneGUI() { Selection.activeGameObject = SPData.SplinePlus.gameObject; if (SPData.Projection.ContinuosUpdate == Switch.On) { SplineCreationClass.ProjectSpline(SPData); } SceneViewDisplay.Display(SPData); Shortcuts(); }
public static bool Display(this SceneViewDisplay display, bool isMaximized) { switch (display) { case SceneViewDisplay.Never: return(false); case SceneViewDisplay.Always: return(true); case SceneViewDisplay.FullscreenOnly: return(isMaximized); default: throw display.Unexpected(); } }
void Node() { var selectedNode = SPData.Node_Selected(); var centerStyle = new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleCenter, fontStyle = FontStyle.Bold, fontSize = 18 }; if (selectedNode == null) { EditorGUILayout.LabelField("No Node Selected!", centerStyle, GUILayout.ExpandWidth(true)); return; } EditorGUILayout.BeginVertical(EditorStyles.helpBox); EditorGUILayout.LabelField("Node", centerStyle, GUILayout.ExpandWidth(true)); centerStyle = new GUIStyle(GUI.skin.label) { alignment = TextAnchor.MiddleLeft, fontStyle = FontStyle.Bold }; EditorGUILayout.Space(); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Add")) { SceneViewDisplay.Node_Add(SPData); FocusSceneView(); } if (GUILayout.Button("Remove")) { SceneViewDisplay.Node_Delete(SPData); FocusSceneView(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("Pop Ups:", centerStyle, GUILayout.ExpandWidth(true)); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Normal")) { SceneViewDisplay.Node_Normal(SPData); FocusSceneView(); } if (GUILayout.Button("Coordinates")) { SceneViewDisplay.Node_Coordinates(SPData); FocusSceneView(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.LabelField("Shape:", centerStyle, GUILayout.ExpandWidth(true)); EditorGUILayout.BeginHorizontal(); if (GUILayout.Button("Flip Handles")) { SceneViewDisplay.Node_FlipHandles(SPData); FocusSceneView(); } if (GUILayout.Button("Hide/Unhide Handles")) { SceneViewDisplay.Node_Hide_Unhide_Handles(SPData); FocusSceneView(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.BeginHorizontal(); EditorGUI.BeginChangeCheck(); var newNodeType = EditorGUILayout.EnumPopup("Node Type", selectedNode._Type); if (EditorGUI.EndChangeCheck()) { selectedNode._Type = (NodeType)newNodeType; switch (newNodeType) { case NodeType.Smooth: SceneViewDisplay.Node_Type_Smooth(SPData); break; case NodeType.Free: SceneViewDisplay.Node_Type_Free(SPData); break; case NodeType.Broken: SceneViewDisplay.Node_Type_Broken(SPData); break; } FocusSceneView(); } EditorGUILayout.EndHorizontal(); EditorGUILayout.EndVertical(); }