private void DesignRouteClickDispatcher(ElementBase element) { RouteElement re = null; IRoutable relement = element as IRoutable; // Avoid add no routebale elements to the route if (relement == null) { return; } // Set next route status relement.SetRouteNextStatus(); if (!relement.ActivatedInRoute) { this.Route.RemoveByElement(element); } else { re = this.Route.GetByElement(element); if (re == null) { re = new RouteElement(); re.ID = element.ID; re.Element = element; re.Route = this.Route; } re.AccessoryStatus = ElementBase.GetAccessoryStatus(element); this.Route.Add(re); } this.RepaintCoordinates(element.Coordinates); }
public void Add(ElementBase element) { foreach (RouteElement elem in this.Elements) { if (elem.ElementID == element.ID) { elem.AccessoryStatus = ElementBase.GetAccessoryStatus(element); return; } } this.Elements.Add(new RouteElement(element)); }