Ejemplo n.º 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;
            }
        }
Ejemplo n.º 2
0
        private void dataGridView1_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
        {
            var postac     = (ListaPostaci.SelectedItem as Postac);
            var prezedmiot = postac.Ekwipunek[e.RowIndex];
            var kolor      = dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor;

            if (kolor == Color.Green)
            {
                //zdejmij i zmien kolor wiersza
                CzescCiala czescCiala = (CzescCiala)(-1);
                if (postac.LewaReka != null && postac.LewaReka.Id == prezedmiot.Id)
                {
                    czescCiala = CzescCiala.LewaReka;
                }
                if (postac.PrawaReka != null && postac.PrawaReka.Id == prezedmiot.Id)
                {
                    czescCiala = CzescCiala.PrawaReka;
                }
                if (postac.NakrycieGlowy != null && postac.NakrycieGlowy.Id == prezedmiot.Id)
                {
                    czescCiala = CzescCiala.Glowa;
                }
                if (postac.Stroj != null && postac.Stroj.Id == prezedmiot.Id)
                {
                    czescCiala = CzescCiala.Tulow;
                }
                if (postac.Buty != null && postac.Buty.Id == prezedmiot.Id)
                {
                    czescCiala = CzescCiala.Stopy;
                }
                if (czescCiala != (CzescCiala)(-1))
                {
                    postac.Zdejmij(czescCiala);
                    dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.White;
                }
            }
            else
            {
                var czesc = CzescCiala.Glowa;
                switch (prezedmiot.Typ)
                {
                case TypPrzedmiotu.Bron:
                    if (postac.LewaReka == null)
                    {
                        czesc = CzescCiala.LewaReka;
                        break;
                    }
                    if (postac.PrawaReka == null)
                    {
                        czesc = CzescCiala.PrawaReka;
                        break;
                    }
                    MessageBox.Show("nie mozesz tego zalozyc");
                    return;

                case TypPrzedmiotu.Stroj:
                    czesc = CzescCiala.Tulow;
                    break;

                case TypPrzedmiotu.Buty:
                    czesc = CzescCiala.Stopy;
                    break;

                case TypPrzedmiotu.NakrycieGlowy:
                    czesc = CzescCiala.Glowa;
                    break;

                default:
                    break;
                }
                // zaloz i zmien kolor
                try
                {
                    postac.Zaloz(czesc, prezedmiot);
                }
                catch (Exception)
                {
                    MessageBox.Show("Ograniczenia klasowe, nie mozna zalozyc");
                    return;
                }
                dataGridView1.Rows[e.RowIndex].DefaultCellStyle.BackColor = Color.Green;
            }
            Wyswietl(postac);
        }
Ejemplo n.º 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;
            }
        }