Exemplo n.º 1
0
        private void backgroundTurnProcessor_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
        {
            FazaIgre faza = (FazaIgre)e.Result;

            switch (faza)
            {
            case FazaIgre.NoviKrug:
                noviKrugPogled();

                bool imaPoruka        = false;
                var  filtriranePoruke = igrac.FiltriranePoruke();

                foreach (Poruka.Tip tip in filtriranePoruke.Keys)
                {
                    if (igrac.filtarPoruka[tip] && filtriranePoruke[tip].Count > 0)
                    {
                        imaPoruka = true;
                    }
                }

                zakljucajSucelje(false);

                if (imaPoruka)
                {
                    novostiMenu_Click(this, null);
                }
                break;

            case FazaIgre.Bitke:

                while (igra.SlijedeciKonflikt() != null)
                {
                    Konflikt konflikt = igra.SlijedeciKonflikt();

                    if (konflikt.Faza == StanjeKonflikta.SvemirskiSukob)
                    {
                        using (var formBitka = new FormBorba(konflikt.ZapocniBorbu(), konflikt.Lokacija))
                            formBitka.ShowDialog();
                    }
                }

                backgroundTurnProcessor.RunWorkerAsync();
                break;
            }
        }