/// <summary> /// A node handle to which connections attach /// </summary> public NodeHandle(BaseNode attachedTo, HandleOrientation startingOrientation) { handleTex = AssetDatabase.LoadAssetAtPath("Assets/NodeEditor/Editor/Images/Handle.png", typeof(Texture)) as Texture; this.attachedTo = attachedTo; this.orientation = startingOrientation; CalculatePosition(); }
public NodeConnection(BaseNode fromNode, BaseNode toNode) { this.fromNode = fromNode; this.toNode = toNode; switch (NodeEditor.instance.GetEditorOptions().nodeHandleMode) { case System.NodeHandleMode.IN_OUT: CreateFromHandle(); CreateToHandle(); break; case System.NodeHandleMode.IN: CreateToHandle(); break; case System.NodeHandleMode.OUT: CreateFromHandle(); break; } }
public virtual NodeConnection ConnectNodes(BaseNode from, BaseNode to) { if (from == null || to == null) return null; NodeConnection c = new NodeConnection(from, to); from.AddConnection(c); to.AddConnection(c); return c; }
/// <summary> /// Remove a node from the editor /// </summary> /// <param name="node"></param> public virtual void RemoveNode(BaseNode node) { if (!nodes.Contains(node)) return; nodes.Remove(node); }
/// <summary> /// Add a node to the editor /// </summary> /// <param name="node"></param> public virtual void AddNode(BaseNode node) { if (nodes.Contains(node)) return; nodes.Add(node); }
/// <summary> /// Gets the context menu of the current mouse over node. If no node is moused over, parameter will be null /// </summary> /// <param name="n"></param> /// <returns></returns> public virtual GenericMenu GetContextMenu(BaseNode node) { GenericMenu menu = new GenericMenu(); return menu; }