private void MainScriptingPanel_MouseClick(object sender, MouseEventArgs e) //Show node search bar { if (e.Button == MouseButtons.Right) { if (createNodeSearchBar != null) { createNodeSearchBar.Dispose(); } createNodeSearchBar = new CreateNodeSearchBar(e.Location, this); MainScriptingPanel.Controls.Add(createNodeSearchBar); createNodeSearchBar.partPressed += SpawnNode; firstSelectedNode = null; firstSelectedPin = null; } else { firstSelectedNode = null; firstSelectedPin = null; if (createNodeSearchBar != null) { createNodeSearchBar.Dispose(); } createNodeSearchBar = null; } MainScriptingPanel.Refresh(); }
public override void MainScriptingPanelMouseClick(object sender, EventArgs e) { MouseEventArgs r = (MouseEventArgs)e; if (r.Button == MouseButtons.Right) { if (createNodeSearchBar != null) { createNodeSearchBar.Dispose(); } if (firstSelectedPin == null) //Pin not selected { createNodeSearchBar = new CreateNodeSearchBar(r.Location, allNodesToShow, visualFunction.visualVariables, new List <VisualFunction>()); } else //Pin selected { List <Type> newNodesToShow = new List <Type>(); List <VisualVariable> newVariablesToShow = new List <VisualVariable>(); List <VisualFunction> newFunctionsToShow = new List <VisualFunction>(); if (firstSelectedPin.visualPin.pinRole == PinRole.Input) //Selected Input { foreach (Type t in allNodesToShow) { List <VisualNodeC> outputs = (List <VisualNodeC>)t.GetField("outputs").GetValue(null); foreach (VisualNodeC pin in outputs) { if (pin.type == firstSelectedPin.visualPin.pinType) { newNodesToShow.Add(t); break; } } } foreach (VisualVariable v in visualFunction.visualVariables) { if (v.variableType == firstSelectedPin.visualPin.pinType) { newVariablesToShow.Add(v); } } } else //Selected Output { foreach (Type t in allNodesToShow) { List <VisualNodeC> inputs = (List <VisualNodeC>)t.GetField("inputs").GetValue(null); foreach (VisualNodeC pin in inputs) { if (pin.type == firstSelectedPin.visualPin.pinType) { newNodesToShow.Add(t); break; } } } } createNodeSearchBar = new CreateNodeSearchBar(r.Location, newNodesToShow, newVariablesToShow, newFunctionsToShow); } form.MainScriptingPanel.Controls.Add(createNodeSearchBar); createNodeSearchBar.partPressed += SpawnNode; firstSelectedNode = null; } else { firstSelectedNode = null; firstSelectedPin = null; if (createNodeSearchBar != null) { createNodeSearchBar.Dispose(); } createNodeSearchBar = null; } ClearVariableFunctionInfoPanel(); firstSelectedVariable = null; firstSelectedFunction = null; form.MainScriptingPanel.Refresh(); }