internal void InvokeTraining(bool returnToStart)
{
if (AccountsPanel.CheckedIndices.Count < 1)
{
LogPanel.Log("E: Check the accounts you want to move");
return;
}
Toggle(false);
foreach (int index in AccountsPanel.CheckedIndices)
{
AccountsPanel.Engine[index].Mover.RefreshRoom();
AccountsPanel.Engine[index].Mover.ReturnToStartHandler.SetOriginal();
ThreadEngine.DefaultInstance.Enqueue(AccountsPanel.Engine[index].Mover.Train);
}
// TODO this needs to go - convert to ThreadPool
ThreadEngine.DefaultInstance.ProcessAll();
if (returnToStart)
{
foreach (int index in AccountsPanel.CheckedIndices)
{
AccountsPanel.Engine[index].Mover.ReturnToStartHandler.InvokeReturn();
// TODO not necessary to thread this - it already is threaded
//InvokeReturn(index);
}
}
Toggle(true);
}