public override void Execute(Editor arg) { Wire wire = new Wire(); WireNode startNode = wire.CreateIOWireNode(this.startIO); WireNode endNode = wire.CreateJunctionWireNode(this.endPos); if (IsCornerNeeded()) { // INCLUDE CORNER WireNode cornerNode = wire.CreateJunctionWireNode(this.corner); wire.AddNode(cornerNode); wire.ConnectNodes(startNode, wire, cornerNode); wire.ConnectNodes(cornerNode, wire, endNode); } else { // NO CORNER wire.ConnectNodes(startNode, wire, endNode); } arg.Simulator.AddWire(wire); }
public override void Execute(Editor arg) { Wire newWire = new Wire(); WireNode startNode = newWire.CreateIOWireNode(this.startIO); WireNode endNode = newWire.CreateIOWireNode(this.endIO); if (IsCornerNeeded()) { WireNode cornerNode = newWire.CreateJunctionWireNode(this.corner); newWire.AddNode(cornerNode); newWire.ConnectNodes(startNode, newWire, cornerNode); newWire.ConnectNodes(cornerNode, newWire, endNode); } else { newWire.ConnectNodes(startNode, newWire, endNode); } arg.Simulator.AddWire(newWire); }