From de5acab132f8ddc3fd66cfb9d1a1126f33b3b2c3 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Fri, 5 Oct 2018 13:58:54 -0500 Subject: [PATCH] Make reload work for all puzzles. We want to use that when making replays. It is nice to reload it once we know the solution so we can save a clean replay. --- EduNetworkBuilder/NetworkBuilder.cs | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index a9588d7..d2ff8ed 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -532,7 +532,7 @@ namespace EduNetworkBuilder public void UpdateMenu() { - if (myNetwork.NetworkFilename != "") + if (myNetwork.NetworkFilename != "" || storedNetworkStates.Count > 0) { reloadToolStripMenuItem.Enabled = true; } @@ -2032,6 +2032,17 @@ namespace EduNetworkBuilder PrepForLoad(); myNetwork.Load(oldfile); } + else + { + if(storedNetworkStates.Count > 0) + { + Network theNet = storedNetworkStates[storedNetworkStates.Count -1]; + storedNetworkStates.Clear(); + ForwardstoredNetworkStates.Clear(); + PrepForLoad(); + LoadNetworkFromNetwork(theNet); + } + } UpdateMenu(); UpdateForm(); } @@ -2189,6 +2200,7 @@ namespace EduNetworkBuilder xmlDoc.LoadXml(myString); PrepForLoad(); myNetwork.Load(xmlDoc, resource, true, SkipOpeningWindows);//Load it from resource. Set the bool saying it was from resource + StoreNetworkState(myNetwork); //Store a clean state UpdateMenu(); UpdateForm(); } @@ -2205,6 +2217,7 @@ namespace EduNetworkBuilder UpdateLinks(); UpdateForm(); NBSettings ns = NB.GetSettings(); + StoreNetworkState(myNetwork); //Store a clean state if (ns != null && ns.AutoDHCPAllMachinesAtNetworkLoad) myNetwork.DoAllDHCP(); } @@ -2212,7 +2225,9 @@ namespace EduNetworkBuilder private void LoadSolvedResource(string what) { + PrepForLoad(); LoadNetworkFromResource(what); + StoreNetworkState(myNetwork); //Store a clean state myNetwork.OverrideFromResources(); UpdateForm(); UpdateMessages(); @@ -2225,6 +2240,7 @@ namespace EduNetworkBuilder //Then "unsolve" it myNetwork.DoAllClearIPs(); myNetwork.OverrideFromResources(); + StoreNetworkState(myNetwork); //Store a clean state UpdateForm(); UpdateMessages(); }