public void Zdejmij(CzescCiala czescCiala) { switch (czescCiala) { case CzescCiala.Glowa: NakrycieGlowy = null; break; case CzescCiala.LewaReka: LewaReka = null; break; case CzescCiala.PrawaReka: PrawaReka = null; break; case CzescCiala.Tulow: Stroj = null; break; case CzescCiala.Stopy: Buty = null; break; default: break; } }
public bool UsunPrzedmiotZEkwipunku(Przedmiot przedmiot) { if (Ekwipunek.Find(przedmiotWEkwipunku => { return(przedmiotWEkwipunku.Id == przedmiot.Id); }) == null) { return(false); } Ekwipunek.Remove(przedmiot); return(true); }
public bool DodajPrzedmiotDoEkwipunku(Przedmiot przedmiot) { //nie dodawac tg samego przedmiotu dwa razy if (Ekwipunek.Find(przedmiotWEkwipunku => { return(przedmiotWEkwipunku.Id == przedmiot.Id); }) != null) { return(false); // ToDo przerobic na rzucanie wyjatkow } if (Udzwig < Obciazenie + przedmiot.Waga) { return(false); } Ekwipunek.Add(przedmiot); return(true); }
private void ZapiszButton_Click(object sender, EventArgs e) { if (string.IsNullOrWhiteSpace(NazwaTextBox.Text)) { MessageBox.Show("Musisz wpisac NazwÄ™"); return; } var typ = (TypPrzedmiotu)Enum.Parse(typeof(TypPrzedmiotu), TypComboBox.SelectedItem.ToString()); string nazwa = NazwaTextBox.Text; double waga = (double)WagaNumericUpDown.Value; var listaBonusow = new List <Bonus>(); var listaWlasciwosci = new List <string>(); var kto = (KtoMozeNosic)Enum.Parse(typeof(KtoMozeNosic), KtocomboBox.SelectedItem.ToString()); var wymagania = new Dictionary <StatystykiPostaci, double>(); if (BMocNumericUpDown.Value != 0) { listaBonusow.Add(new Bonus { DoCzego = StatystykiPostaci.Moc, Premia = (double)BMocNumericUpDown.Value }); } if (BInteligencjaNumericUpDown.Value != 0) { listaBonusow.Add(new Bonus { DoCzego = StatystykiPostaci.Inteligencja, Premia = (double)BInteligencjaNumericUpDown.Value }); } if (BObronaNumericUpDown.Value != 0) { listaBonusow.Add(new Bonus { DoCzego = StatystykiPostaci.Obrona, Premia = (double)BObronaNumericUpDown.Value }); } foreach (ListViewItem i in WlasciwosciListView.Items) { listaWlasciwosci.Add(i.Text); } if (WMocNumericUpDown.Value != 0) { wymagania.Add(StatystykiPostaci.Moc, (double)WMocNumericUpDown.Value); } if (WInteligencjanumericUpDown.Value != 0) { wymagania.Add(StatystykiPostaci.Inteligencja, (double)WInteligencjanumericUpDown.Value); } if (WObronaNumericUpDown.Value != 0) { wymagania.Add(StatystykiPostaci.Obrona, (double)WObronaNumericUpDown.Value); } if (PrzekanyPrzedmiot == null) { Przedmiot przedmiot = new Przedmiot(typ, nazwa, waga, listaBonusow, listaWlasciwosci, kto, wymagania); Gra.ListaPrzedmiotow.Add(przedmiot); } else { PrzekanyPrzedmiot.Nazwa = nazwa; PrzekanyPrzedmiot.Typ = typ; PrzekanyPrzedmiot.Waga = waga; PrzekanyPrzedmiot.Bonusy.Clear(); PrzekanyPrzedmiot.Bonusy.AddRange(listaBonusow); PrzekanyPrzedmiot.Wlasciwosci.Clear(); PrzekanyPrzedmiot.Wlasciwosci.AddRange(listaWlasciwosci); PrzekanyPrzedmiot.OgraniczeniaKlasowe = kto; PrzekanyPrzedmiot.Wymagania = wymagania; } sklepForm.WyswietlListePrzedmiotow(); this.Close(); }
public OknoPrzedmiotowForm(SklepForm sklep, Przedmiot przedmiot = null) { InitializeComponent(); sklepForm = sklep; var typy = Enum.GetNames(typeof(TypPrzedmiotu)); TypComboBox.DataSource = new List <string>(typy); var kto = Enum.GetNames(typeof(KtoMozeNosic)); KtocomboBox.DataSource = new List <string>(kto); PrzekanyPrzedmiot = przedmiot; if (przedmiot != null) { TypComboBox.SelectedItem = przedmiot.Typ.ToString(); KtocomboBox.SelectedItem = przedmiot.OgraniczeniaKlasowe.ToString(); NazwaTextBox.Text = przedmiot.Nazwa; WagaNumericUpDown.Value = (decimal)przedmiot.Waga; foreach (string wlasciwosc in przedmiot.Wlasciwosci) { WlasciwosciListView.Items.Add(wlasciwosc); } if (przedmiot.Wymagania.ContainsKey(StatystykiPostaci.Moc) && przedmiot.Wymagania[StatystykiPostaci.Moc] != 0) { WMocNumericUpDown.Value = (decimal)przedmiot.Wymagania[StatystykiPostaci.Moc]; } if (przedmiot.Wymagania.ContainsKey(StatystykiPostaci.Inteligencja) && przedmiot.Wymagania[StatystykiPostaci.Inteligencja] != 0) { WInteligencjanumericUpDown.Value = (decimal)przedmiot.Wymagania[StatystykiPostaci.Inteligencja]; } if (przedmiot.Wymagania.ContainsKey(StatystykiPostaci.Obrona) && przedmiot.Wymagania[StatystykiPostaci.Obrona] != 0) { WObronaNumericUpDown.Value = (decimal)przedmiot.Wymagania[StatystykiPostaci.Obrona]; } foreach (var bonus in przedmiot.Bonusy) { switch (bonus.DoCzego) { case StatystykiPostaci.Moc: BMocNumericUpDown.Value = (decimal)bonus.Premia; break; case StatystykiPostaci.Inteligencja: BInteligencjaNumericUpDown.Value = (decimal)bonus.Premia; break; case StatystykiPostaci.Obrona: BObronaNumericUpDown.Value = (decimal)bonus.Premia; break; default: break; } } } }
public void Zaloz(CzescCiala czescCiala, Przedmiot przedmiot) { if (przedmiot == null) { throw new Exception("Musisz podac przedmiot"); } if (Ekwipunek.Find(x => x.Id == przedmiot.Id) == null)// nie ma tg predmiotu w ekwipunku { throw new Exception("Nie ma tego przedmiotu w ekwipunku"); } if ((int)Klasa.Typ != (int)przedmiot.OgraniczeniaKlasowe && przedmiot.OgraniczeniaKlasowe != KtoMozeNosic.Wszyscy) { throw new Exception("Ta postac nie moze nosic tego przedmiotu"); } NieodpowiednieMiejsceExeption nieOdpowiednieMiejsce = new NieodpowiednieMiejsceExeption("To nie jest odpowiednie miejsce na ten przedmiot"); ZajeteMiejsceExeption zajeteMiejsce = new ZajeteMiejsceExeption("To miejsce jet juz zajete"); switch (czescCiala) { case CzescCiala.Glowa: if (NakrycieGlowy != null) { throw zajeteMiejsce; } if (przedmiot.Typ != TypPrzedmiotu.NakrycieGlowy) { throw nieOdpowiednieMiejsce; } NakrycieGlowy = przedmiot; break; case CzescCiala.LewaReka: if (LewaReka != null) { throw zajeteMiejsce; } if (przedmiot.Typ != TypPrzedmiotu.Bron) { throw nieOdpowiednieMiejsce; } LewaReka = przedmiot; break; case CzescCiala.PrawaReka: if (PrawaReka != null) { throw zajeteMiejsce; } if (przedmiot.Typ != TypPrzedmiotu.Bron) { throw nieOdpowiednieMiejsce; } PrawaReka = przedmiot; break; case CzescCiala.Tulow: if (Stroj != null) { throw zajeteMiejsce; } if (przedmiot.Typ != TypPrzedmiotu.Stroj) { throw nieOdpowiednieMiejsce; } Stroj = przedmiot; break; case CzescCiala.Stopy: if (Buty != null) { throw zajeteMiejsce; } if (przedmiot.Typ != TypPrzedmiotu.Buty) { throw nieOdpowiednieMiejsce; } Buty = przedmiot; break; default: break; } }