private void DrawForrestPaths() { Canvas.Children.Clear(); foreach (var crossroad in GlobalForestPaths.GetCrossroads()) { BuildDirector ellipseDirector = new BuildDirector(); EllipseBuilder ellipseBuilder = ellipseDirector.BuildEllipse(crossroad); Ellipse ellipse = ellipseBuilder.GetEllipse(); Canvas.SetLeft(ellipse, crossroad.Position.X - ellipse.Height / 2); Canvas.SetTop(ellipse, crossroad.Position.Y - ellipse.Width / 2); Canvas.SetZIndex(ellipse, 2); Canvas.Children.Add(ellipse); foreach (var eges in GlobalForestPaths.GetNextCrossroads(crossroad)) { BuildDirector lineDirector = new BuildDirector(); LineBuilder lineBuilder = lineDirector.BuildLine(GlobalForestPaths, crossroad.Key, eges.Key); Line line = lineBuilder.GetLine(); string[] lineName = line.Name.Split('_'); if (FindChildByName($"{lineName[1]}_{lineName[0]}") == null) { Canvas.SetZIndex(line, 1); Canvas.Children.Add(line); } } } }
public void Execute() { key = forestPaths.AddCrossroad(crossroad); BuildDirector director = new BuildDirector(); EllipseBuilder builder = director.BuildEllipse(crossroad); Ellipse ellipse = builder.GetEllipse(); Canvas.SetLeft(ellipse, crossroad.Position.X - ellipse.Height / 2); Canvas.SetTop(ellipse, crossroad.Position.Y - ellipse.Width / 2); Canvas.SetZIndex(ellipse, 2); canvas.Children.Add(ellipse); }