diff --git a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/BrickCurveGenerator.cs b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/BrickCurveGenerator.cs index 9af386e..65ed208 100644 --- a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/BrickCurveGenerator.cs +++ b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/BrickCurveGenerator.cs @@ -11,6 +11,13 @@ public class BrickCurveGenerator : CurveGenerator public override int Type => LevelEntryTypes.BrickCurveGenerator; + public override object Clone() + { + var copy = new BrickCurveGenerator(Level); + base.CloneTo(copy); + return copy; + } + public BrickCurveGenerator(Level level) : base(level) { diff --git a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/CurveGenerator.cs b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/CurveGenerator.cs index e74a3ab..8f5b86f 100644 --- a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/CurveGenerator.cs +++ b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/CurveGenerator.cs @@ -177,12 +177,10 @@ private PointF GetVisualLocation(PointF location) return location; } - public override object Clone() + protected void CloneTo(CurveGenerator copy) { - var copy = new BrickCurveGenerator(Level); base.CloneTo(copy); copy.BezierPath = BezierPath.Clone(); - return copy; } public void RecalculateOrigin() diff --git a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/PegCurveGenerator.cs b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/PegCurveGenerator.cs index f27717c..ef9d85e 100644 --- a/src/IntelOrca.PeggleEdit.Tools/Levels/Children/PegCurveGenerator.cs +++ b/src/IntelOrca.PeggleEdit.Tools/Levels/Children/PegCurveGenerator.cs @@ -16,6 +16,13 @@ public PegCurveGenerator(Level level) public override int Type => LevelEntryTypes.PegCurveGenerator; + public override object Clone() + { + var copy = new PegCurveGenerator(Level); + base.CloneTo(copy); + return copy; + } + public override void InvalidatePath() { _cache.Clear();