Ejemplo n.º 1
0
        public List <RegionData> GetFallbackRegions(UUID scopeID, int x, int y)
        {
            List <RegionData>         regions          = Get((int)RegionFlags.FallbackRegion, scopeID);
            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);

            regions.Sort(distanceComparer);
            return(regions);
        }
Ejemplo n.º 2
0
        public List <GridRegion> GetFallbackRegions(List <UUID> scopeIDs, int x, int y)
        {
            List <GridRegion>         regions          = GetList((int)RegionFlags.FallbackRegion, scopeIDs);
            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);

            regions.Sort(distanceComparer);

            return(regions);
        }
Ejemplo n.º 3
0
        public List <GridRegion> GetSafeRegions(UUID scopeID, int x, int y)
        {
            List <GridRegion> Regions = Get((int)RegionFlags.Safe, scopeID);

            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);

            Regions.Sort(distanceComparer);
            return(Regions);
        }
Ejemplo n.º 4
0
        public List <GridRegion> GetSafeRegions(List <UUID> scopeIDs, int x, int y)
        {
            List <GridRegion> Regions = Get((int)RegionFlags.Safe, scopeIDs);

            Regions.AddRange(Get((int)RegionFlags.RegionOnline, scopeIDs));

            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);

            Regions.Sort(distanceComparer);
            return(Regions);
        }
Ejemplo n.º 5
0
        public List <GridRegion> GetFallbackRegions(UUID scopeID, int x, int y)
        {
            List <GridRegion> ret = new List <GridRegion>();

            List <RegionData> regions = m_Database.GetFallbackRegions(scopeID);

            if (regions.Count > 1)
            {
                RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);
                regions.Sort(distanceComparer);
            }

            foreach (RegionData r in regions)
            {
                if ((Convert.ToInt32(r.Data["flags"]) & (int)OpenSim.Framework.RegionFlags.RegionOnline) != 0)
                {
                    ret.Add(RegionData2RegionInfo(r));
                }
            }

            m_log.DebugFormat("[GRID SERVICE]: Fallback returned {0} regions", ret.Count);
            return(ret);
        }
Ejemplo n.º 6
0
        public List<RegionData> GetSafeRegions(UUID scopeID, int x, int y)
        {
            string sql = "SELECT * FROM [" + m_Realm + "] WHERE (flags & 2048) <> 0";
            if (scopeID != UUID.Zero)
                sql += " AND ScopeID = @scopeID";

            sql += " LIMIT 0,10";

            using (SqlConnection conn = new SqlConnection(m_ConnectionString))
            using (SqlCommand cmd = new SqlCommand(sql, conn))
            {
                cmd.Parameters.Add(m_database.CreateParameter("@scopeID", scopeID));
                conn.Open(); 
                List<RegionData> Regions = RunCommand(cmd);
                RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);
                Regions.Sort(distanceComparer);
                return Regions;
            }
        }
Ejemplo n.º 7
0
        public List<RegionData> GetFallbackRegions(UUID scopeID, int x, int y)
        {
            List<RegionData> regions = Get((int)RegionFlags.FallbackRegion, scopeID);
            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);
            regions.Sort(distanceComparer);

            return regions;
        }
Ejemplo n.º 8
0
        public List<RegionData> GetSafeRegions(UUID scopeID, int x, int y)
        {
            string command = "select * from '" + m_Realm + "' where (flags & 2048) <> 0";
            if (scopeID != UUID.Zero)
                command += " and ScopeID = :scopeID";

            command += " LIMIT 0,10";

            SqliteCommand cmd = new SqliteCommand(command);

            cmd.Parameters.AddWithValue(":scopeID", scopeID.ToString());

            List<RegionData> regions = RunCommand(cmd);
            RegionDataDistanceCompare distanceComparer = new RegionDataDistanceCompare(x, y);
            regions.Sort(distanceComparer);
            return regions;
        }