public void UpdateDrag() { if (!IsPlacing()) { return; } editor.Repaint(); //Debug.Log( "Drag exists: " + ( dragNode != null ) + "\nDrag name: " + dragNode.name + "\nDrag type: " + dragNode.type.ToString() ); //float preScale = (float)(editor.separatorRight.rect.x - Event.current.mousePosition.x); //preScale /= 48f; // Distance to animate in //preScale = Mathf.Clamp01(preScale); //Rect boxRect = new Rect( 0, 0, SF_Node.NODE_SIZE, SF_Node.NODE_SIZE ).ScaleSizeBy(preScale).ClampSize((int)styleCategory.fixedHeight,SF_Node.NODE_SIZE); Rect boxRect = new Rect(0, 0, SF_Node.NODE_SIZE, SF_Node.NODE_SIZE); boxRect.center = Event.current.mousePosition; GUI.Box(boxRect, dragNode.nodeName); // Debug.Log( Event.current.type.ToString()); if (Event.current.rawType == EventType.MouseUp) { OnStopDrag(); } }
public void DrawMeshGUI(Rect previewRect) { if (previewRect == default(Rect)) { previewRect = this.previewRect; } if (previewRect.width > 1) { this.previewRect = previewRect; } if (Event.current.rawType == EventType.MouseUp) { if (Event.current.button == 0) { StopDragLMB(); } else if (Event.current.button == 1) { StopDragRMB(); } } if (Event.current.type == EventType.MouseDown && MouseOverPreview()) { if (Event.current.button == 0) { StartDragLMB(); } else if (Event.current.button == 1) { StartDragRMB(); } } if (isDraggingLMB) { UpdateDragLMB(); } if (isDraggingRMB) { UpdateDragRMB(); } if (mesh == null || InternalMaterial == null || Event.current.type != EventType.Repaint) { return; } if (previewStyle == null) { previewStyle = new GUIStyle(EditorStyles.textField); } previewStyle.normal.background = backgroundTexture; editor.Repaint(); previewRenderUtility.BeginPreview(previewRect, GUIStyle.none); DrawMesh(); previewRenderUtility.EndAndDrawPreview(previewRect); }