Better non-visible regression testing & the close button working.
This commit is contained in:
parent
b87d1acd93
commit
aaf7afdd65
@ -609,6 +609,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
AddRoute();
|
AddRoute();
|
||||||
}
|
}
|
||||||
|
//In puzzle mode, this is the cancel button
|
||||||
if(MyMode == LBContents.puzzles)
|
if(MyMode == LBContents.puzzles)
|
||||||
{
|
{
|
||||||
if (oursettings.AutoStartPuzzles != cbLoadPuzzlesAtStart.Checked)
|
if (oursettings.AutoStartPuzzles != cbLoadPuzzlesAtStart.Checked)
|
||||||
@ -618,6 +619,11 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
Close();
|
Close();
|
||||||
}
|
}
|
||||||
|
//In regression, this is the close button
|
||||||
|
if (MyMode == LBContents.regressiontest)
|
||||||
|
{
|
||||||
|
Close();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
private void AddRoute()
|
private void AddRoute()
|
||||||
{
|
{
|
||||||
|
@ -491,7 +491,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
BuilderWindow myWin = (BuilderWindow)Application.OpenForms["BuilderWindow"];
|
||||||
if (myWin == null) return;
|
if (myWin == null) return;
|
||||||
myWin.RegisterInisibleNet(ToRegister);
|
myWin.RegisterInvisibleNet(ToRegister);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void UnregisterInvisibleNetwork()
|
public static void UnregisterInvisibleNetwork()
|
||||||
|
@ -84,6 +84,8 @@ namespace EduNetworkBuilder
|
|||||||
public bool ReplayInProgress = false;
|
public bool ReplayInProgress = false;
|
||||||
public DateTime NextReplayAction = DateTime.UtcNow;
|
public DateTime NextReplayAction = DateTime.UtcNow;
|
||||||
public int NextReplayIndex = -1;
|
public int NextReplayIndex = -1;
|
||||||
|
public bool StartedNewReplayAction = false;
|
||||||
|
public bool ProcessingNonVisually = false;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// WhatFrom: If we are launched from a homework, we remember it here.
|
/// WhatFrom: If we are launched from a homework, we remember it here.
|
||||||
@ -1682,6 +1684,7 @@ namespace EduNetworkBuilder
|
|||||||
{
|
{
|
||||||
//we did something. keep replaying
|
//we did something. keep replaying
|
||||||
NB.MarkToUpdate();
|
NB.MarkToUpdate();
|
||||||
|
StartedNewReplayAction = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@ -2471,6 +2474,27 @@ namespace EduNetworkBuilder
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// This is used when we are doing a replay behind the scenes.
|
||||||
|
/// We may have many things that we do. We still want to time-out if
|
||||||
|
/// a packet needs to drop. So we loop through, but have a timeout on each
|
||||||
|
/// individual action.
|
||||||
|
/// </summary>
|
||||||
|
public void NonVisualProcessPacketsMultipleTimes()
|
||||||
|
{
|
||||||
|
int counter = 0;
|
||||||
|
while (counter < 1000 && myPackets.Count > 0)
|
||||||
|
{
|
||||||
|
Tick(true); //Skip visuals
|
||||||
|
if(StartedNewReplayAction)
|
||||||
|
{
|
||||||
|
counter = 0; //reset counter to zero
|
||||||
|
StartedNewReplayAction = false; //reset it
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
int BreakNetComponent(NetworkComponent What, HowToBreak How, string Data)
|
int BreakNetComponent(NetworkComponent What, HowToBreak How, string Data)
|
||||||
{
|
{
|
||||||
int didit = 0;
|
int didit = 0;
|
||||||
|
@ -2706,7 +2706,7 @@ namespace EduNetworkBuilder
|
|||||||
return myNetwork;
|
return myNetwork;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RegisterInisibleNet(Network toRegister)
|
public void RegisterInvisibleNet(Network toRegister)
|
||||||
{
|
{
|
||||||
InvisibleNetwork = toRegister;
|
InvisibleNetwork = toRegister;
|
||||||
}
|
}
|
||||||
@ -2859,7 +2859,17 @@ namespace EduNetworkBuilder
|
|||||||
//Disable menuitems & right-click if in replay mode
|
//Disable menuitems & right-click if in replay mode
|
||||||
myNetwork.ReplayInProgress = true;
|
myNetwork.ReplayInProgress = true;
|
||||||
myNetwork.NextReplayIndex = 0;
|
myNetwork.NextReplayIndex = 0;
|
||||||
myNetwork.NextReplayAction = DateTime.UtcNow.AddMilliseconds(delay_between);
|
myNetwork.NextReplayAction = DateTime.UtcNow.AddMilliseconds(delay_between);
|
||||||
|
|
||||||
|
//Now we need to process it.
|
||||||
|
NB.RegisterInvisibleNetwork(myNetwork);
|
||||||
|
//while we have actions to do.
|
||||||
|
while (myNetwork.ReplayInProgress)
|
||||||
|
{
|
||||||
|
myNetwork.Tick(true);
|
||||||
|
myNetwork.NonVisualProcessPacketsMultipleTimes();
|
||||||
|
}
|
||||||
|
NB.UnregisterInvisibleNetwork();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void replayToolStripMenuItem_Click(object sender, EventArgs e)
|
private void replayToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
Loading…
Reference in New Issue
Block a user