From aa78fa5aca552f6b698ca7a811f60de6ba624028 Mon Sep 17 00:00:00 2001 From: Tim Young Date: Fri, 5 Oct 2018 13:00:04 -0500 Subject: [PATCH] centralize passed/failed tracking --- EduNetworkBuilder/NBSettings.cs | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/EduNetworkBuilder/NBSettings.cs b/EduNetworkBuilder/NBSettings.cs index 5f50ef6..b73f9a9 100644 --- a/EduNetworkBuilder/NBSettings.cs +++ b/EduNetworkBuilder/NBSettings.cs @@ -62,10 +62,13 @@ namespace EduNetworkBuilder { UserActions.Add(What); } - public void RegisterReplayPassed() + public void RegisterReplayPassed(string networkname = "") { if (UserActions == null) return; - NetworkAction NA = UserActions.GetCurrentNetAction(); + NetworkAction NA; + if (networkname == "") + NA = UserActions.GetCurrentNetAction(); + else NA = UserActions.FindAction(networkname); if (NA != null) { NA.SetPassed(); @@ -73,10 +76,13 @@ namespace EduNetworkBuilder if (PuzzlesFailed.Contains(NA.NetworkName)) PuzzlesFailed.Remove(NA.NetworkName); } } - public void RegisterReplayFailed() + public void RegisterReplayFailed(string networkname = "") { if (UserActions == null) return; - NetworkAction NA = UserActions.GetCurrentNetAction(); + NetworkAction NA; + if (networkname == "") + NA = UserActions.GetCurrentNetAction(); + else NA = UserActions.FindAction(networkname); if (NA != null) { NA.SetFailed(); @@ -234,6 +240,7 @@ namespace EduNetworkBuilder public bool HasPassed(string networkname) { if (UserActions == null) return false; + if (PuzzlesPassed.Contains(networkname)) return true; NetworkAction NA = UserActions.FindAction(networkname); if (NA == null) return false; return NA.HasPassed; @@ -241,21 +248,19 @@ namespace EduNetworkBuilder public bool HasFailed(string networkname) { if (UserActions == null) return false; + if (PuzzlesFailed.Contains(networkname)) return true; + NetworkAction NA = UserActions.FindAction(networkname); if (NA == null) return false; return NA.HasFailed; } public void SetPassed(string networkname) { - if (UserActions == null) return; - NetworkAction NA = UserActions.FindAction(networkname); - NA.SetPassed(); + RegisterReplayPassed(networkname); } public void SetFailed(string networkname) { - if (UserActions == null) return; - NetworkAction NA = UserActions.FindAction(networkname); - NA.SetFailed(); + RegisterReplayFailed(networkname); } public bool CheckIfDone(string PuzzleName) {