コード例 #1
0
        public bool UsunPrzedmiotZEkwipunku(Przedmiot przedmiot)
        {
            if (Ekwipunek.Find(przedmiotWEkwipunku => { return(przedmiotWEkwipunku.Id == przedmiot.Id); }) == null)
            {
                return(false);
            }

            Ekwipunek.Remove(przedmiot);

            return(true);
        }
コード例 #2
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);
        }
コード例 #3
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;
            }
        }