public void OnGUI() { /* * selectionBox.x = Event.current.mousePosition.x; * selectionBox.y = Event.current.mousePosition.y; * selectionBox.width = 128; * selectionBox.height = 128; */ if (SF_GUI.ReleasedRawLMB() && boxSelecting) { ExecuteBoxSelect(); } if (SF_GUI.PressedLMB() && SF_GUI.HoldingBoxSelect()) { boxSelecting = true; if (!SF_GUI.MultiSelectModifierHeld()) { DeselectAll(registerUndo: true); } selectionBox.x = Event.current.mousePosition.x; selectionBox.y = Event.current.mousePosition.y; Event.current.Use(); } // Duplicate, copy, cut, paste EventType et = Application.platform == RuntimePlatform.OSXEditor ? EventType.KeyDown : EventType.KeyUp; // TODO: Use KeyDown for Windows too if (SF_GUI.HoldingControl() && Event.current.type == et && !SF_Node.isEditingAnyNodeTextField) { switch (Event.current.keyCode) { case (KeyCode.D): DuplicateSelection(); break; case (KeyCode.C): CopySelection(); break; case (KeyCode.X): CutSelection(); break; case (KeyCode.V): PasteFromClipboard(); break; } } // Selection box if (boxSelecting) { selectionBox.width = Event.current.mousePosition.x - selectionBox.x; selectionBox.height = Event.current.mousePosition.y - selectionBox.y; if (Event.current.isMouse) { Event.current.Use(); } } if (SF_GUI.PressedDelete() && !SF_Node.isEditingAnyNodeTextField) { DeleteSelected(); Event.current.Use(); } }