Get invisible Network to complet auto dhcp request at beginning
This commit is contained in:
		@@ -410,8 +410,23 @@ namespace EduNetworkBuilder
 | 
			
		||||
            BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
 | 
			
		||||
            if (myWin == null) return null;
 | 
			
		||||
            if (myWin.GameRandomGen == null) return null;
 | 
			
		||||
            return myWin.myNetwork;
 | 
			
		||||
            return myWin.GetNetwork();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void RegisterInvisibleNetwork(Network ToRegister)
 | 
			
		||||
        {
 | 
			
		||||
            BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
 | 
			
		||||
            if (myWin == null) return;
 | 
			
		||||
            myWin.RegisterInisibleNet(ToRegister);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void UnregisterInvisibleNetwork()
 | 
			
		||||
        {
 | 
			
		||||
            BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
 | 
			
		||||
            if (myWin == null) return;
 | 
			
		||||
            myWin.UnregisterInvisibleNet();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public static void MarkToUpdate()
 | 
			
		||||
        {
 | 
			
		||||
            BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
 | 
			
		||||
 
 | 
			
		||||
@@ -1772,6 +1772,16 @@ namespace EduNetworkBuilder
 | 
			
		||||
            return b;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void DumpInvisibleNetMessages()
 | 
			
		||||
        {
 | 
			
		||||
            List<string> messages = GetMessageStrings();
 | 
			
		||||
            foreach(string one in messages)
 | 
			
		||||
            {
 | 
			
		||||
                Console.WriteLine(one);
 | 
			
		||||
            }
 | 
			
		||||
            myMessages.Clear();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// This func tries to non-visually process all the tests, seeing if the network is
 | 
			
		||||
        /// "solved."  This is for homework that is "submitted."
 | 
			
		||||
@@ -1779,13 +1789,34 @@ namespace EduNetworkBuilder
 | 
			
		||||
        public HomeworkSolvedStatus CheckThatHomeworkIsSolved()
 | 
			
		||||
        {
 | 
			
		||||
            bool HadIssues = false;
 | 
			
		||||
            NB.RegisterInvisibleNetwork(this);
 | 
			
		||||
            DoAllMarkAsLinked();
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
            //do dhcp request on everything.
 | 
			
		||||
            DoAllDHCP();
 | 
			
		||||
            NonVisualProcessPacketsOnce();  //loop until we "timeout" or all packets are done.
 | 
			
		||||
            DumpInvisibleNetMessages();
 | 
			
		||||
 | 
			
		||||
            foreach (NetTest NT in NetTests)
 | 
			
		||||
            {
 | 
			
		||||
 | 
			
		||||
                //Here we test it.
 | 
			
		||||
            }
 | 
			
		||||
            NB.UnregisterInvisibleNetwork();
 | 
			
		||||
 | 
			
		||||
            if(HadIssues)
 | 
			
		||||
                return HomeworkSolvedStatus.CheckedFailed;
 | 
			
		||||
            return HomeworkSolvedStatus.CheckedSucceeded;
 | 
			
		||||
            return HomeworkSolvedStatus.NeverChecked; //for now.  We want to change this later.  Just so we keep re-testing
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void NonVisualProcessPacketsOnce()
 | 
			
		||||
        {
 | 
			
		||||
            int counter = 0;
 | 
			
		||||
            while(counter < 1000 && myPackets.Count >0)
 | 
			
		||||
            {
 | 
			
		||||
                Tick(true); //Skip visuals
 | 
			
		||||
                counter++;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -25,6 +25,7 @@ namespace EduNetworkBuilder
 | 
			
		||||
        public DebugPausePoint DebugSetting = DebugPausePoint.none;
 | 
			
		||||
//        public DebugPausePoint DebugSetting = DebugPausePoint.all | DebugPausePoint.dump;
 | 
			
		||||
        public Network myNetwork = new Network("");
 | 
			
		||||
        private Network InvisibleNetwork = null;
 | 
			
		||||
        private List<Control> Buttons = new List<Control>();
 | 
			
		||||
        private string selectedButton = "";
 | 
			
		||||
        ToolTip myTooltip = new ToolTip();
 | 
			
		||||
@@ -2136,5 +2137,21 @@ namespace EduNetworkBuilder
 | 
			
		||||
            //rebuild menu
 | 
			
		||||
            UpdateMenu();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public Network GetNetwork()
 | 
			
		||||
        {
 | 
			
		||||
            if (InvisibleNetwork != null) return InvisibleNetwork;
 | 
			
		||||
            return myNetwork;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void RegisterInisibleNet(Network toRegister)
 | 
			
		||||
        {
 | 
			
		||||
            InvisibleNetwork = toRegister;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        public void UnregisterInvisibleNet()
 | 
			
		||||
        {
 | 
			
		||||
            InvisibleNetwork = null;
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user