예제 #1
0
        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;
            }
        }
예제 #2
0
        public bool UsunPrzedmiotZEkwipunku(Przedmiot przedmiot)
        {
            if (Ekwipunek.Find(przedmiotWEkwipunku => { return(przedmiotWEkwipunku.Id == przedmiot.Id); }) == null)
            {
                return(false);
            }

            Ekwipunek.Remove(przedmiot);

            return(true);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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();
        }
예제 #5
0
        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;
                    }
                }
            }
        }
예제 #6
0
        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;
            }
        }