diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index ad4f38d..eb2bc89 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -874,7 +874,7 @@ namespace EduNetworkBuilder return tDests; } - public void TestForCompletion(bool report_as_done) + public void TestForCompletion(bool report_as_done, bool MarkAsDoneIfNotReporting=false) { NetworkDevice TmpDevice; bool PreviouslyUnsolved = !PuzzleIsSolved; //Only if we have an unsolved puzzle @@ -911,7 +911,8 @@ namespace EduNetworkBuilder } if (PuzzleCount == 0 && PreviouslyUnsolved) { - PuzzleIsSolved = true; + if(report_as_done || MarkAsDoneIfNotReporting) + PuzzleIsSolved = true; //Only change this when we need to report it if (NB.DebugTests) Console.WriteLine("Recognizing puzzle is solved: " + PuzzleName); if (report_as_done) { @@ -1707,7 +1708,7 @@ namespace EduNetworkBuilder //replay finished ReplayInProgress = false; //Try testing for completion? - TestForCompletion(false); + TestForCompletion(false, true); //If we have succeeded, we need to mark it as passed if (PuzzleIsSolved) Settings.RegisterReplayPassed(); //If we have failed to complete, we need to mark it as failed diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index d2ff8ed..f530915 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -2043,6 +2043,17 @@ namespace EduNetworkBuilder LoadNetworkFromNetwork(theNet); } } + if(OurSettings.ReplayMode) + { + //clear out the replay actions for this network + ActionCollection AC = OurSettings.GetUserActionCollection(); + if (AC != null) + { + NetworkAction NA = AC.GetCurrentNetAction(); + if (NA != null) + NA.Actions.Clear(); + } + } UpdateMenu(); UpdateForm(); }