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);
                    }
                }
            }
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            Budget.getInstance().setLimit(5000);

            Console.WriteLine("Input city type (village, oblcenter, capital):");
            string cityType = Console.ReadLine();

            Console.WriteLine();

            ICityBuilder cityBuilder;

            switch (cityType)
            {
            case "village":
                cityBuilder = new VillageBuilder();
                break;

            case "oblcenter":
                cityBuilder = new OblCenterBuilder();
                break;

            case "capital":
                cityBuilder = new CapitalBuilder();
                break;

            default:
                throw new System.ArgumentException("City type can be only one of the following: [village, oblcenter, capital]");
            }

            BuildDirector buildDirector = new BuildDirector(cityBuilder);

            City.City city = buildDirector.Build();

            city.Info();
        }
        public void Execute()
        {
            forestPaths.AddRoad(firstKey, secondKey);

            BuildDirector director = new BuildDirector();
            LineBuilder   builder  = director.BuildLine(forestPaths, firstKey, secondKey);
            Line          line     = builder.GetLine();

            Canvas.SetZIndex(line, 1);
            canvas.Children.Add(line);
        }
Exemplo n.º 4
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);
        }
Exemplo n.º 5
0
        static void Main(string[] args)
        {
            AbstractBuilder build_1    = new ConcreteBuilderA();
            BuildDirector   director_1 = new BuildDirector(build_1);
            Product         p_1        = null;

            p_1 = director_1.ConstructProduct();
            p_1.Show();

            AbstractBuilder build_2    = new ConcreteBuilderB();
            BuildDirector   director_2 = new BuildDirector(build_2);

            p_1 = director_2.ConstructProduct();
            p_1.Show();

            Console.ReadLine();
        }