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);
                    }
                }
            }
        }
Example #2
0
        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);
        }