public TronicSequence(N8Tronic Initial, NodeType InitialOut = NodeType.FlowOutA)
 {
     data = new List<DataBlock>();
     tronics = new N8BlockFactory();
     CurrentTronic = (FlowTronic)Initial;
     CurrentOut = Initial.GetNode(InitialOut);
     sequence = new List<FlowTronic>();
     Branches = new Stack<Tuple<FlowTronic, Node>>();
 }
 public virtual void RemoveWire(N8Tronic other, NodeType myNode, NodeType otherNode)
 {
     Wire temp = new Wire(this.GetNode(myNode), other.GetNode(otherNode));
     this.WiredTo.Remove(temp);
     other.WiredTo.Remove(temp);
 }
 //copy constructor, doesn't copy wiring.
 public N8Tronic(N8Tronic source, int ID)
     : base(source, ID)
 {
     SetNodes();
     this.data = source.data;
 }
 public void RemoveAllWires(N8Tronic other)
 {
     WiredTo.RemoveAll((wire) => wire.Left.Owner == other || wire.Right.Owner == other);
     other.WiredTo.RemoveAll((wire) => wire.Left.Owner == this || wire.Right.Owner == this);
 }