//public Texture TryGetProceduralTexture(ProceduralMaterial procMat, string propName){ // Texture returnTex = null; // try{ // if(procMat.HasProperty(propName)) // returnTex = procMat.GetTexture(propName); // } catch (UnityException e){ // e.Equals(e); // } // return returnTex; //} public void UpdateCutLine() { if (SF_GUI.HoldingAlt() && Event.current.type == EventType.MouseDown && Event.current.button == 1) { // Alt + RMB drag StartCutting(); } else if (SF_GUI.ReleasedRawRMB()) { StopCutting(); } if (isCutting) { Vector2 cutEnd = GetNodeSpaceMousePos(); GUILines.DrawDashedLine(editor, cutStart, cutEnd, Color.white, 5f); foreach (SF_Node n in editor.nodes) { foreach (SF_NodeConnector con in n.connectors) { if (con.IsConnected() && con.conType == ConType.cInput && con.enableState != EnableState.Hidden) { Vector2 intersection = Vector2.zero; if (con.conLine.Intersects(cutStart, cutEnd, out intersection)) { con.conLine.aboutToBeDeleted = true; Vector2 hit = editor.nodeView.ScreenSpaceToZoomSpace(intersection); float scale = 5f; float scaleDiff = 0.95f; //Vector2 rg, up, lf, dn; //Vector2 localRight = (cutStart-cutEnd).normalized; //Vector2 localUp = new Vector2(localRight.y,-localRight.x); //rg = hit + localRight * scale; //up = hit + localUp * scale; //lf = hit - localRight * scale; //dn = hit - localUp * scale; Color c0 = new Color(1f, 0.1f, 0.1f, 0.9f); Color c1 = new Color(1f, 0.1f, 0.1f, 0.7f); Color c2 = new Color(1f, 0.1f, 0.1f, 0.5f); Color c3 = new Color(1f, 0.1f, 0.1f, 0.3f); GUILines.DrawDisc(hit, scale, c0); GUILines.DrawDisc(hit, scale - scaleDiff, c1); GUILines.DrawDisc(hit, scale - scaleDiff * 2, c2); GUILines.DrawDisc(hit, scale - scaleDiff * 3, c3); //GUILines.DrawLine(rg,up,Color.red,2f,true); //GUILines.DrawLine(up,lf,Color.red,2f,true); //GUILines.DrawLine(lf,dn,Color.red,2f,true); //GUILines.DrawLine(dn,rg,Color.red,2f,true); continue; } else { con.conLine.aboutToBeDeleted = false; } } } } } }