Ejemplo n.º 1
0
        /// <summary>
        /// Attempts to find a telehub in the region; if one is not found, returns false.
        /// </summary>
        /// <param name="regionID">Region ID</param>
        /// <param name="position">The position of the telehub</param>
        /// <returns></returns>
        public Telehub FindTelehub(UUID regionID, ulong regionHandle)
        {
            Telehub       telehub         = new Telehub();
            List <string> telehubposition = GD.Query("RegionID", regionID, "telehubs", "RegionLocX,RegionLocY,TelehubLocX,TelehubLocY,TelehubLocZ,TelehubRotX,TelehubRotY,TelehubRotZ,Spawns,ObjectUUID,Name");

            //Not the right number of values, so its not there.
            if (telehubposition.Count != 11)
            {
                return(null);
            }

            telehub.RegionID    = regionID;
            telehub.RegionLocX  = float.Parse(telehubposition[0]);
            telehub.RegionLocY  = float.Parse(telehubposition[1]);
            telehub.TelehubLocX = float.Parse(telehubposition[2]);
            telehub.TelehubLocY = float.Parse(telehubposition[3]);
            telehub.TelehubLocZ = float.Parse(telehubposition[4]);
            telehub.TelehubRotX = float.Parse(telehubposition[5]);
            telehub.TelehubRotY = float.Parse(telehubposition[6]);
            telehub.TelehubRotZ = float.Parse(telehubposition[7]);
            telehub.SpawnPos    = telehub.BuildToList(telehubposition[8]);
            telehub.ObjectUUID  = UUID.Parse(telehubposition[9]);
            telehub.Name        = telehubposition[10];

            return(telehub);
        }
Ejemplo n.º 2
0
        /// <summary>
        ///     Attempts to find a telehub in the region; if one is not found, returns false.
        /// </summary>
        /// <param name="regionID">Region ID</param>
        /// <returns></returns>
        public Telehub FindTelehub(UUID regionID)
        {
            string sql = "SELECT * FROM telehubs where RegionID=?RegionID";

            using (MySqlConnection conn = GetConnection())
            {
                using (MySqlCommand cmd = conn.CreateCommand())
                {
                    cmd.CommandText = sql;
                    cmd.Parameters.Add("?RegionID", regionID.ToString());
                    using (IDataReader r = cmd.ExecuteReader())
                    {
                        if (r.Read())
                        {
                            if (r.FieldCount == 0)
                            {
                                return(null);
                            }

                            return(new Telehub()
                            {
                                RegionID = UUID.Parse(r["RegionID"].ToString()),
                                TelehubLoc = Vector3.Parse(r["TelehubLoc"].ToString()),
                                TelehubRot = Quaternion.Parse(r["TelehubRot"].ToString()),
                                Name = r["Name"].ToString(),
                                ObjectUUID = UUID.Parse(r["ObjectUUID"].ToString()),
                                SpawnPos = Telehub.BuildToList(r["Spawns"].ToString())
                            });
                        }
                        return(null);
                    }
                }
            }
        }
Ejemplo n.º 3
0
        public Telehub FindTelehub(UUID regionID, ulong regionHandle)
        {
            object remoteValue = DoRemote(regionID, regionHandle);

            if (remoteValue != null || m_doRemoteOnly)
            {
                return((Telehub)remoteValue);
            }

            QueryFilter filter = new QueryFilter();

            filter.andFilters["RegionID"] = regionID;
            List <string> telehubposition = GD.Query(new[]
            {
                "RegionLocX",
                "RegionLocY",
                "TelehubLocX",
                "TelehubLocY",
                "TelehubLocZ",
                "TelehubRotX",
                "TelehubRotY",
                "TelehubRotZ",
                "Spawns",
                "ObjectUUID",
                "Name"
            }, "telehubs", filter, null, null, null);

            //Not the right number of values, so its not there.
            return((telehubposition == null || telehubposition.Count != 11)
                       ? null
                       : new Telehub
            {
                RegionID = regionID,
                RegionLocX = float.Parse(telehubposition[0]),
                RegionLocY = float.Parse(telehubposition[1]),
                TelehubLocX = float.Parse(telehubposition[2]),
                TelehubLocY = float.Parse(telehubposition[3]),
                TelehubLocZ = float.Parse(telehubposition[4]),
                TelehubRotX = float.Parse(telehubposition[5]),
                TelehubRotY = float.Parse(telehubposition[6]),
                TelehubRotZ = float.Parse(telehubposition[7]),
                SpawnPos = Telehub.BuildToList(telehubposition[8]),
                ObjectUUID = UUID.Parse(telehubposition[9]),
                Name = telehubposition[10]
            });
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Attempts to find a telehub in the region; if one is not found, returns false.
        /// </summary>
        /// <param name="regionID">Region ID</param>
        /// <param name="position">The position of the telehub</param>
        /// <returns></returns>
        public Telehub FindTelehub(UUID regionID, ulong regionHandle)
        {
            Telehub telehub = new Telehub();
            List<string> telehubposition = GD.Query("RegionID", regionID, "telehubs", "RegionLocX,RegionLocY,TelehubLocX,TelehubLocY,TelehubLocZ,TelehubRotX,TelehubRotY,TelehubRotZ,Spawns,ObjectUUID,Name");
            //Not the right number of values, so its not there.
            if (telehubposition.Count != 11)
                return null;

            telehub.RegionID = regionID;
            telehub.RegionLocX = float.Parse(telehubposition[0]);
            telehub.RegionLocY = float.Parse(telehubposition[1]);
            telehub.TelehubLocX = float.Parse(telehubposition[2]);
            telehub.TelehubLocY = float.Parse(telehubposition[3]);
            telehub.TelehubLocZ = float.Parse(telehubposition[4]);
            telehub.TelehubRotX = float.Parse(telehubposition[5]);
            telehub.TelehubRotY = float.Parse(telehubposition[6]);
            telehub.TelehubRotZ = float.Parse(telehubposition[7]);
            telehub.SpawnPos = telehub.BuildToList(telehubposition[8]);
            telehub.ObjectUUID = UUID.Parse(telehubposition[9]);
            telehub.Name = telehubposition[10];

            return telehub;
        }