コード例 #1
0
        // w poprzednich wersjach (z 4 VI 2014)
        // ta funkcja zawiera kod mierz¹cy wydajnoœæ
        public void GenerujKomorkiIRogi()
        {
            _poziomEditor.Poziom._krawedzieWoronoja = Fortune.ComputeVoronoiGraph(WezlyNaWektory()).Edges; // dla mapy 50x50: 0,7 sekundy
             var pf = new PrzetwarzaczFortunea();
             IMapa mapa = pf.Przetwarzaj(_poziomEditor.Poziom._krawedzieWoronoja);  // dla mapy 50x50: 7,1 sekundy
             _poziomEditor.Poziom._mapa = (Mapa)mapa; // pilne czy to rzutowanie jest potrzebne?

             foreach (var komorka in mapa.Komorki) // dla mapy 50x50: 0,7 sekundy
             {
            var nowa = (GameObject)Object.Instantiate(Resources.Load("KomorkaUnity"),
               komorka.Punkt.Pozycja.NaVector3(), Quaternion.identity);
            nowa.transform.parent = _poziomEditor.Poziom.KomponentPojemnika.Komorki.transform;
            nowa.GetComponent<KomorkaUnity>().Komorka = komorka;
            _poziomEditor.Poziom._komorkiUnity.Add(nowa.GetComponent<KomorkaUnity>());
             }
             foreach (var rog in mapa.Rogi) // dla mapy 50x50: 2 sekundy
             {

            if (float.IsInfinity(rog.Punkt.Pozycja.x) || float.IsInfinity(rog.Punkt.Pozycja.y) || float.IsInfinity(rog.Punkt.Pozycja.z))
               continue;

            var nowy = (GameObject)Object.Instantiate(Resources.Load("RogUnity"),
               rog.Punkt.Pozycja.NaVector3(), Quaternion.identity);

            nowy.transform.parent = _poziomEditor.Poziom.KomponentPojemnika.Rogi.transform;

            nowy.GetComponent<RogUnity>().Rog = rog;

            _poziomEditor.Poziom._rogiUnity.Add(nowy.GetComponent<RogUnity>());
             }
        }
コード例 #2
0
 public void SetUp()
 {
     _siatkaWezlow = PrzykladowaSiatka();
      _przetwarzacz = new PrzetwarzaczFortunea();
      _krawedzieWoronoja = Fortune.ComputeVoronoiGraph(_siatkaWezlow).Edges;
 }