static SizeF PreRenderItem(Graphics graphics, NodeItem item, PointF position) { var itemSize = (SizeF)item.Measure(graphics); item.bounds = new RectangleF(position, itemSize); return(itemSize); }
private NodeItem GetOutputItem(NodeItem A, NodeItem B) { if (A.ItemType == B.ItemType) throw new ArgumentException("A and B are the same connection type!"); if (A.ItemType == NodeItemType.Output) return A; if (B.ItemType == NodeItemType.Output) return B; throw new ArgumentException("No Output type!"); }
public void PinConnected(NodeItem fromConnect, string property) { Type t = DotaAction.GetType(); var prop = t.GetProperty(property); if (prop == null) { throw new ArgumentException("Property must be a valid KV property"); } if(fromConnect.Node is VariableNode) { if (prop.PropertyType == typeof(NumberValue)) { var vn = fromConnect.Node as VariableNode; var nv = new NumberValue("%" + vn.Variable.Name); prop.SetMethod.Invoke(DotaAction, new object[] { nv }); } } if(fromConnect is TargetNodeItem) { if(prop.PropertyType == typeof(TargetKey)) { var target = (fromConnect as TargetNodeItem).Target; prop.SetMethod.Invoke(DotaAction, new object[] { target }); } } }
public void RemoveItem(NodeItem item) { if (!nodeItems.Contains(item)) { return; } item.Node = null; nodeItems.Remove(item); }
public VariableNode(BaseActionVariable var) : base(var.Name) { Variable = var; HeaderColor = System.Drawing.Brushes.DarkGreen; OutputPin = new NumberValueItem("Value", NodeItemType.Output); AddItem(OutputPin); }
public void AddItem(NodeItem item) { if (nodeItems.Contains(item)) { return; } if (item.Node != null) { item.Node.RemoveItem(item); } nodeItems.Add(item); item.Node = this; }
public void AddItem(NodeItem item) { if (item.Node != null) { item.Node.RemoveItem(item); } item.Node = this; if (item.ItemType == NodeItemType.Output) { OutputItems.Add(item); } else if (item.ItemType == NodeItemType.Input) { InputItems.Add(item); } }
public void RemoveItem(NodeItem item) { if (item.Node != this) { return; } item.Node = null; if (item.ItemType == NodeItemType.Output) { OutputItems.Remove(item); } else if (item.ItemType == NodeItemType.Input) { InputItems.Remove(item); } }
public void AddItem(NodeItem item, int orderKey = -1) { if (nodeItems.Contains(item)) { return; } if (item.Node != null) { item.Node.RemoveItem(item); } item.OrderKey = (orderKey >= 0) ? orderKey : currentOrderKey++; item.Node = this; nodeItems.Add(item); nodeItems.Sort((a, b) => a.OrderKey.CompareTo(b.OrderKey)); }
static void RenderItem(Graphics graphics, SizeF minimumSize, NodeItem item, PointF position) { item.Render(graphics, minimumSize, position); }
static SizeF PreRenderItem(Graphics graphics, NodeItem item, PointF position) { var itemSize = (SizeF)item.Measure(graphics); item.bounds = new RectangleF(position, itemSize); return itemSize; }
public NodeItemEventArgs(NodeItem item) { Item = item; }
public NodeConnector(NodeItem item, bool enabled) { Item = item; Enabled = enabled; }
public NodeOutputConnector(NodeItem item, bool enabled) : base(item, enabled) { }
public void AddItem(NodeItem item, int orderKey = -1) { if (nodeItems.Contains(item)) return; if (item.Node != null) item.Node.RemoveItem(item); item.OrderKey = (orderKey >= 0) ? orderKey : currentOrderKey++; item.Node = this; nodeItems.Add(item); nodeItems.Sort((a, b) => a.OrderKey.CompareTo(b.OrderKey)); }
public void AddItem(NodeItem item) { if (nodeItems.Contains(item)) return; if (item.Node != null) item.Node.RemoveItem(item); nodeItems.Add(item); item.Node = this; }
public void RemoveItem(NodeItem item) { if (!nodeItems.Contains(item)) return; item.Node = null; nodeItems.Remove(item); }
public NodeConnection Connect(NodeItem from, NodeItem to) { return Connect(from.Output, to.Input); }
private NodeIOMode getIOMode(NodeItem item) { bool input = item.Input.Enabled; bool output = item.Output.Enabled; if (input && output) return NodeIOMode.InOut; else if (input) return NodeIOMode.Input; else if (output) return NodeIOMode.Output; return NodeIOMode.None; }