Exemplo n.º 1
0
        private async void timerTick()
        {
            if (!imageLoaded)
            {
                return;
            }
            Source.Cancel();
            int alive = currentExistence.Phases.First().GetNumberAlive();

            LastReport = currentExistence.MakeAnUniversalTimeUntiPass();

            int dead = statingPopulationNumber - alive;

            lblAlvie.Text = alive.ToString();
            lblDead.Text  = dead.ToString();

            universalTimeUnit++;
            lblUniversalTime.Text = universalTimeUnit.ToString();
            lblUTUSecond.Text     = String.Format("{0:0.0}", (universalTimeUnit / (DateTime.Now - StartingTime).TotalSeconds));

            if (panel1.BackgroundImage == null)
            {
                panel1.BackgroundImage = new Bitmap(500, 500);
            }
            if (currentExistence != null || currentExistence.Phases != null || currentExistence.Phases.FirstOrDefault() != null)
            {
                Source = new CancellationTokenSource();
                panel1.BackgroundImage = await drawer.Draw(Source.Token, new List <UniversalObject>(currentExistence.Phases.First().UniversalObjectsInside), cbShowAttacks.Checked, LastReport, (Bitmap)panel1.BackgroundImage);
            }
            //panel1.Refresh();
            imageLoaded = true;
        }