public override IMemento <ShapePool> Restore(ShapePool target) { int index = target.Count - 1; IMemento <ShapePool> inverse = new RemoveShapeMemento(index, target[index]); target.RemoveAt(target.Count - 1); return(inverse); }
public override IMemento <ShapePool> Restore(ShapePool target) { Shape removed = target[index]; IMemento <ShapePool> inverse = new RemoveShapeMemento(index, removed); target.RemoveAt(index); return(inverse); }