public override void Remove() { if (!IsRemovable) { return; } MicroWorld.Logics.CircuitManager.Wires.Remove(this); J1.ConnectedWires.Remove(this); J2.ConnectedWires.Remove(this); if (J1.ConnectedWires.Count == 0 && J1.ContainingComponents.Count == 0) { J1.Remove(); } else { J1.SetComponentOnVisibilityMap(); } if (J2.ConnectedWires.Count == 0 && J2.ContainingComponents.Count == 0) { J2.Remove(); } else { J2.SetComponentOnVisibilityMap(); } base.Remove(); }
public override void SetComponentOnVisibilityMap() { if (!Graphics.Visible) { return; } var g = Graphics as Graphics.WireGraphics; for (int i = 0; i < g.DrawPath.Count - 1; i++) { ComponentsManager.VisibilityMap.SetLine(this, g.DrawPath[i].X, g.DrawPath[i].Y, g.DrawPath[i + 1].X, g.DrawPath[i + 1].Y); } J1.SetComponentOnVisibilityMap(); J2.SetComponentOnVisibilityMap(); }