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); } } } }
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); }
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); }
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(); }