/// <summary> /// klasa AktualizacjiStanuSwiata przyjmuje w konstruktorze obiekt świata i na jego podstawie tworzy odpowiednie delegaty ktrórych bedzie używać /// do aktualizacji /// </summary> /// <param name="swiat"></param> public AktualizacjaStanuSwiata(Swiat swiat) { AktualizacjaHandlarzy GeneratorDelegacjiDoaktualizacjiHandlarzy = new AktualizacjaHandlarzy(swiat.pobierzListeHandlarzy()); AktualizacjaOsad GeneratorDelegacjiDoAktualizacjiOsad = new AktualizacjaOsad(swiat.pobierzListeOsad()); delegatHandlarzy = GeneratorDelegacjiDoaktualizacjiHandlarzy.pobierzGotowyDelegat(); delegatOsad = GeneratorDelegacjiDoAktualizacjiOsad.pobierzGotowyDelegat(); }
/// <summary> /// korzystam z timera z intervalem ustawionym na 100 który z kazdym "tickiem" zwieksza dzien przy okazji sprawdzajac czy cos sie zmienilo na mapie i /// uruchamiajac aktualizator mapy zgodnie z aktualnym dniem /// </summary> /// <param name="sender"></param> /// <param name="e"></param> void Timer_Tick(object sender, EventArgs e) { textBoxLabel1.Text = String.Format("Rok : {0}\r\nMiesiąc : {1}", rok, miesiac); aktualizacjaStanuSwiata.aktualizujSwiat(dzien); Console.WriteLine(swiat.pobierzListeHandlarzy()[0].zwrocPozycje()); Console.WriteLine(swiat.pobierzListeHandlarzy()[1].zwrocPozycje()); aktualizatorMapy.Aktualizuj(); dzien += 1; if (dzien % 32 == 0) { miesiac += 1; if (miesiac % 13 == 0) { miesiac = 1; rok += 1; } } this.Refresh(); }
private void dodajHandlarzy(Swiat swiat) { foreach (Handlarz handlarz in swiat.pobierzListeHandlarzy()) { handlarzeNaMapie.Add(handlarz, new PictureBox()); PictureBox tempPictureBox = handlarzeNaMapie[handlarz]; tempPictureBox.Image = global::Empire_Simulator.Properties.Resources.handlarz; tempPictureBox.Location = new System.Drawing.Point(Convert.ToInt32(handlarz.zwrocPozycje().X), Convert.ToInt32(handlarz.zwrocPozycje().Y)); tempPictureBox.Name = "Handlarz"; tempPictureBox.Size = tempPictureBox.Image.Size; tempPictureBox.BackColor = System.Drawing.Color.Transparent; } }