//########################################################################## //########################### EVENTOS ############################### //########################################################################## //evento de finalizar simulación al clickear el botón finalizar simulación private void btFinalizarSim_Click(object sender, EventArgs e) { BWprSimulacion.CancelAsync(); BWprJubilacion.CancelAsync(); BWprMensaje.CancelAsync(); BWescudo.CancelAsync(); BWeligeCasillas.CancelAsync(); finalizarSimulacion(); mItFinalizar.Enabled = false; }
//Acciones que realiza el programa al iniciar la interfaz gráfica private void PuenteDeMandoGUI_Load(object sender, EventArgs e) { //Se inicia el backgroundworker BWprSimulacion.RunWorkerAsync(); BWprJubilacion.RunWorkerAsync(); BWprMensaje.RunWorkerAsync(); BWescudo.RunWorkerAsync(); BWeligeCasillas.RunWorkerAsync(); playFondo.PlayLooping();// Vuelve a reproducir la cancion }
//BW que al finalizar la simulación activa la finalización del programa private void BWprSimulacion_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { if (e.Cancelled == false) { BWprSimulacion.CancelAsync(); BWprJubilacion.CancelAsync(); BWprMensaje.CancelAsync(); BWescudo.CancelAsync(); BWeligeCasillas.CancelAsync(); finalizarSimulacion(); } }
//BW para el escudoGUI que elige 2 casillas del escudo cada segundo y realiza diversas tareas private void BWeligeCasillas_DoWork(object sender, DoWorkEventArgs e) { BWeligeCasillas.WorkerReportsProgress = true; BWeligeCasillas.WorkerSupportsCancellation = true; for (int i = 5; i >= 0; i--) { if (BWeligeCasillas.CancellationPending == true) { break; } // Wait 1000 milliseconds. Thread.Sleep(1000); // Report progress. BWeligeCasillas.ReportProgress(i); if (i == 0) { i = 5; egui.eligeCasillas(); } } }