// 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>()); } }
public void SetUp() { _siatkaWezlow = PrzykladowaSiatka(); _przetwarzacz = new PrzetwarzaczFortunea(); _krawedzieWoronoja = Fortune.ComputeVoronoiGraph(_siatkaWezlow).Edges; }