public override void DoMainGUI() { IEvent evt = eventSystem.current; m_RequestRepaint = false; m_HandleMatrix = Handles.matrix; m_MousePosition = Handles.inverseMatrix.MultiplyPoint(eventSystem.current.mousePosition); if (m_Selected == null || !m_Selected.rect.Contains(m_MousePosition) && !IsMouseOverOutlinePoints() && evt.shift == false) { spriteEditorWindow.HandleSpriteSelection(); } HandleCreateNewOutline(); m_WasRectSelecting = m_ShapeSelectionUI.isSelecting; UpdateShapeEditors(); m_ShapeSelectionUI.OnGUI(); DrawGizmos(); if (m_RequestRepaint || evt.type == EventType.MouseMove) { spriteEditorWindow.RequestRepaint(); } }