public static void OnSceneGUI(Rect windowRect, MeshEditBrushTool tool) { GUIStyleUtility.InitStyles(); InitLocalStyles(); GUILayout.BeginHorizontal(GUIStyleUtility.ContentEmpty); { GUILayout.BeginVertical(GUIStyleUtility.ContentEmpty); { GUILayout.BeginVertical(GUIStyleUtility.ContentEmpty); { GUILayout.FlexibleSpace(); GUIStyleUtility.ResetGUIState(); GUIStyle windowStyle = GUI.skin.window; GUILayout.BeginVertical(ContentMeshLabel, windowStyle, GUIStyleUtility.ContentEmpty); { OnGUIContents(true, tool); } GUILayout.EndVertical(); var currentArea = GUILayoutUtility.GetLastRect(); lastGuiRect = currentArea; var buttonArea = currentArea; buttonArea.x += buttonArea.width - 17; buttonArea.y += 2; buttonArea.height = 13; buttonArea.width = 13; if (GUI.Button(buttonArea, GUIContent.none, "WinBtnClose")) { CSGBrushEditorWindow.GetWindow(); } TooltipUtility.SetToolTip(GUIStyleUtility.PopOutTooltip, buttonArea); int controlID = GUIUtility.GetControlID(SceneViewMeshOverlayHash, FocusType.Keyboard, currentArea); switch (Event.current.GetTypeForControl(controlID)) { case EventType.MouseDown: { if (currentArea.Contains(Event.current.mousePosition)) { GUIUtility.hotControl = controlID; GUIUtility.keyboardControl = controlID; Event.current.Use(); } break; } case EventType.MouseMove: { if (currentArea.Contains(Event.current.mousePosition)) { Event.current.Use(); } break; } case EventType.MouseUp: { if (GUIUtility.hotControl == controlID) { GUIUtility.hotControl = 0; GUIUtility.keyboardControl = 0; Event.current.Use(); } break; } case EventType.MouseDrag: { if (GUIUtility.hotControl == controlID) { Event.current.Use(); } break; } case EventType.ScrollWheel: { if (currentArea.Contains(Event.current.mousePosition)) { Event.current.Use(); } break; } } } GUILayout.EndVertical(); } GUILayout.EndVertical(); GUILayout.FlexibleSpace(); } GUILayout.EndHorizontal(); }
public static bool InitSceneGUI(SceneView sceneView) { currentEditorWindows = CSGBrushEditorWindow.GetEditorWindows(); return(currentEditorWindows.Count == 0); }