Пример #1
0
        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();
        }
Пример #2
0
        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();
        }