private void start_algorithm(object sender, EventArgs e) { change_enabled_setting(); //Toggle controls AlgorithmState.StartAlgorithm(); FormsHandler.LoadAndDisplayState(AlgorithmState.GetCurrentState()); }
//Advance algorithm button async private void buttonAdvancestepsdropdown_Click(object sender, EventArgs e) { FormsHandler.halted = false; int steps_to_take = Int32.Parse(comboboxAdvancesteps.Text); int episodes = Int32.Parse(comboboxAdvanceepisodes.Text); if (episodes > 0) { steps_to_take += (Int32.Parse(comboboxAdvanceepisodes.Text) * FormsHandler.loaded_state.GetStepLimit()) + 1; //+1 to get the new episode generated } int initial_delay = Int32.Parse(comboboxDelayms.Text); int delay = initial_delay; if (steps_to_take > 1) { textboxProgresssteps.Text = steps_to_take.ToString(); groupboxCountdown.Enabled = true; groupboxAlgorithmprogress.Enabled = false; groupboxHistory.Enabled = false; while (steps_to_take-- > 0 && !FormsHandler.halted) { AlgorithmState.PrepareStep(); FormsHandler.LoadAndDisplayState(AlgorithmState.GetCurrentState()); textboxProgresssteps.Text = steps_to_take.ToString(); do { await Task.Delay(1); textboxCountdown.Text = delay.ToString(); } while (--delay > 0 && !FormsHandler.halted); delay = initial_delay; } groupboxAlgorithmprogress.Enabled = true; groupboxCountdown.Enabled = false; groupboxHistory.Enabled = true; } else { AlgorithmState.PrepareStep(); FormsHandler.LoadAndDisplayState(AlgorithmState.GetCurrentState()); } }
private void restart_algorithm_button_click(object sender, EventArgs e) { FormsHandler.StopAlgorithm(AlgorithmState.GetCurrentState()); change_enabled_setting(); //Togle controls }