public override bool Equals(object obj) { if (obj == null) { return(false); } CompositeFigure f = obj as CompositeFigure; if (f == null) { return(false); } bool b = true; if (children.Count != f.children.Count) { return(false); } for (int i = 0; i < children.Count; i++) { b &= children[i].Equals(f.children[i]); } return(b); }
static void Main(string[] args) { // 7 IFigure dc7 = new Circle(new Point(0.0, -50.0), 50.0); IFigure dr7 = new Rectangle(new Point(50, 50), new Point(150, 50), new Point(150, 150), new Point(50, 150)); IFigure dt7 = new Triangle(new Point(-150, 50), new Point(-50, 50), new Point(-100, 150)); CompositeFigure cf7 = new CompositeFigure(dc7, dr7, dt7); AShower shower = new WindowShower(100.0, 100.0); User user = new User(); user.AddFigure(dc7); user.AddFigure(dr7); user.AddFigure(dt7); //user.Show(shower); user.DecorateWithShadow(2); user.AddFigure(cf7); user.DelFigure(cf7); user.MakeComposite(0, 1, 2); user.DecorateWithBorder(0); user.Show(shower); user.Undo(5); user.Show(shower); Console.ReadKey(); }
public override IFigure Clone() { CompositeFigure res = new CompositeFigure(); foreach (IFigure f in children) { res.Add(f.Clone()); } return res; }
public override IFigure Clone() { CompositeFigure res = new CompositeFigure(); foreach (IFigure f in children) { res.Add(f.Clone()); } return(res); }
public DelFigureCommand(CompositeFigure figures, IFigure f) { this.figures = figures; this.f = f; }
public ShadowDecoratorCommand(CompositeFigure figures, IFigure f) { this.f = f; this.cf = figures; }
public MakeCompositeCommand(CompositeFigure figures, params IFigure[] arr) { this.figures = figures; this.arr = arr; cf = new CompositeFigure(arr); }
public ClearCommand(CompositeFigure figures) { this.figures = figures; }