Exemplo n.º 1
0
 public void UsuńFigureBlokującą(object klucz)
 {
     PrzetrzeńKolizji.ObiektKolizji Usuwany = Szkielety[klucz];
     Usuwany.wrażliwośćKolizji = relacjaFiguraZnikająca;
     Przestrzeń.Usuń(Usuwany);
     foreach (PrzetrzeńKolizji.ObiektKolizji item in Przestrzeń.ZnajdźWsztstkieKolidujące(Usuwany))
     {
         DodajOdcinek(item, true);
     }
 }
Exemplo n.º 2
0
 public void DodajPunkt(Punkt p)
 {
     Punky.Add(p);
     Przestrzeń.Dodaj(new PrzetrzeńKolizji.ObiektKolizji(p.Miejsce)
     {
         Tag = p
     });
     foreach (Krawedz item in ZnajdźPoloczenia(p))
     {
         PrzetrzeńKolizji.ObiektKolizji DodawanyOdcinek = new PrzetrzeńKolizji.ObiektKolizji(Vector2.Zero);
         DodawanyOdcinek.Szkielet = item;
         DodajOdcinek(DodawanyOdcinek);
     }
 }
Exemplo n.º 3
0
        public void DodajFigureBlokującą(FiguraZOdcinków fz, Vector2 Miejsce, object klucz)
        {
            PrzetrzeńKolizji.ObiektKolizji dodawany = new PrzetrzeńKolizji.ObiektKolizji(Miejsce);
            dodawany.wrażliwośćKolizji = relacjaFiguraAktywna;
            dodawany.Szkielet          = fz;
            Szkielety.Add(klucz, dodawany);
            List <PrzetrzeńKolizji.ObiektKolizji> pom;

            Przestrzeń.Dodaj(dodawany, out pom);
            foreach (PrzetrzeńKolizji.ObiektKolizji item in pom)
            {
                item.wrażliwośćKolizji = relacjaOdcinekMartwy;
                Krawedz k = (Krawedz)item.Szkielet;
                k.UsuńSię();
            }
        }
Exemplo n.º 4
0
        private void DodajOdcinek(PrzetrzeńKolizji.ObiektKolizji k, bool WPrzestrzeni = false)
        {
            bool b = false;

            if (!WPrzestrzeni)
            {
                List <PrzetrzeńKolizji.ObiektKolizji> opk;
                k.wrażliwośćKolizji = relacjaOdcinekMartwy;
                Przestrzeń.Dodaj(k, out opk);

                b = opk.Count == 0;
            }
            else
            {
                b = Przestrzeń.ZnajdźWsztstkieKolidujące(k).Count == 0;
            }

            if (b)
            {
                k.wrażliwośćKolizji = relacjaOdcinekAktywny;
                Krawedz kr = (Krawedz)k.Szkielet;
                kr.DodajSię();
            }
        }