Beispiel #1
0
        public List <Spot> FindAllSpots(float min_x, float min_y, float max_x, float max_y)
        {
            // hmm, do it per chunk
            List <Spot> l = new List <Spot>();

            for (float mx = min_x; mx <= max_x + GraphChunk.CHUNK_SIZE - 1; mx += GraphChunk.CHUNK_SIZE)
            {
                for (float my = min_y; my <= max_y + GraphChunk.CHUNK_SIZE - 1; my += GraphChunk.CHUNK_SIZE)
                {
                    LoadChunk(mx, my);
                    GraphChunk  gc = GetChunkAt(mx, my);
                    List <Spot> sl = gc.GetAllSpots();
                    foreach (Spot s in sl)
                    {
                        if (s.X >= min_x && s.X <= max_x &&
                            s.Y >= min_y && s.Y <= max_y)
                        {
                            l.Add(s);
                        }
                    }
                }
            }
            return(l);
        }