예제 #1
0
 /// <summary>
 ///   Adds a new telehub in the region. Replaces an old one automatically.
 /// </summary>
 /// <param name = "telehub"></param>
 public void AddTelehub(Telehub telehub, ulong regionhandle)
 {
     //Look for a telehub first.
     if (FindTelehub(new UUID(telehub.RegionID), 0) != null)
     {
         //Found one, time to update it.
         GD.Update("telehubs", new object[]
                                   {
                                       telehub.TelehubLocX,
                                       telehub.TelehubLocY,
                                       telehub.TelehubLocZ,
                                       telehub.TelehubRotX,
                                       telehub.TelehubRotY,
                                       telehub.TelehubRotZ,
                                       telehub.BuildFromList(telehub.SpawnPos),
                                       telehub.ObjectUUID,
                                       telehub.Name.MySqlEscape(50)
                                   }, new[]
                                          {
                                              "TelehubLocX",
                                              "TelehubLocY",
                                              "TelehubLocZ",
                                              "TelehubRotX",
                                              "TelehubRotY",
                                              "TelehubRotZ",
                                              "Spawns",
                                              "ObjectUUID",
                                              "Name"
                                          }, new[] {"RegionID"}, new object[] {telehub.RegionID});
     }
     else
     {
         //Make a new one
         List<object> values = new List<object>
                                   {
                                       telehub.RegionID,
                                       telehub.RegionLocX,
                                       telehub.RegionLocY,
                                       telehub.TelehubLocX,
                                       telehub.TelehubLocY,
                                       telehub.TelehubLocZ,
                                       telehub.TelehubRotX,
                                       telehub.TelehubRotY,
                                       telehub.TelehubRotZ,
                                       telehub.BuildFromList(telehub.SpawnPos),
                                       telehub.ObjectUUID,
                                       telehub.Name.MySqlEscape(50)
                                   };
         GD.Insert("telehubs", values.ToArray());
     }
 }
예제 #2
0
        /// <summary>
        /// Adds a new telehub in the region. Replaces an old one automatically.
        /// </summary>
        /// <param name="regionID"></param>
        /// <param name="position">Telehub position</param>
        /// <param name="regionPosX">Region Position in meters</param>
        /// <param name="regionPosY">Region Position in meters</param>
        public void AddTelehub(Telehub telehub, UUID SessionID)
        {
            //Look for a telehub first.
            if (FindTelehub(new UUID(telehub.RegionID)) != null)
            {
                //Found one, time to update it.
                GD.Update("telehubs", new object[] {
					telehub.TelehubLocX,
					telehub.TelehubLocY,
					telehub.TelehubLocZ,
                    telehub.TelehubRotX,
					telehub.TelehubRotY,
					telehub.TelehubRotZ,
					telehub.BuildFromList(telehub.SpawnPos),
					telehub.ObjectUUID,
					telehub.Name
				}, new string[] {
					"TelehubLocX",
					"TelehubLocY",
					"TelehubLocZ",
                    "TelehubRotX",
					"TelehubRotY",
					"TelehubRotZ",
                    "Spawns",
					"ObjectUUID",
					"Name"
				}, new string[] { "RegionID" }, new object[] { telehub.RegionID });
            }
            else
            {
                //Make a new one
                List<object> values = new List<object>();
                values.Add(telehub.RegionID);
                values.Add(telehub.RegionLocX);
                values.Add(telehub.RegionLocY);
                values.Add(telehub.TelehubLocX);
                values.Add(telehub.TelehubLocY);
                values.Add(telehub.TelehubLocZ);
                values.Add(telehub.TelehubRotX);
                values.Add(telehub.TelehubRotY);
                values.Add(telehub.TelehubRotZ);
                values.Add(telehub.BuildFromList(telehub.SpawnPos));
                values.Add(telehub.ObjectUUID);
                values.Add(telehub.Name);
                GD.Insert("telehubs", values.ToArray());
            }
        }
예제 #3
0
        public void AddTelehub(Telehub telehub, ulong regionhandle)
        {
            object remoteValue = DoRemote(telehub, regionhandle);
            if (remoteValue != null || m_doRemoteOnly)
                return;

            //Look for a telehub first.
            if (FindTelehub(new UUID(telehub.RegionID), 0) != null)
            {
                Dictionary<string, object> values = new Dictionary<string, object>();
                values["TelehubLocX"] = telehub.TelehubLocX;
                values["TelehubLocY"] = telehub.TelehubLocY;
                values["TelehubLocZ"] = telehub.TelehubLocZ;
                values["TelehubRotX"] = telehub.TelehubRotX;
                values["TelehubRotY"] = telehub.TelehubRotY;
                values["TelehubRotZ"] = telehub.TelehubRotZ;
                values["Spawns"] = telehub.BuildFromList(telehub.SpawnPos);
                values["ObjectUUID"] = telehub.ObjectUUID;
                values["Name"] = telehub.Name.MySqlEscape(50);

                QueryFilter filter = new QueryFilter();
                filter.andFilters["RegionID"] = telehub.RegionID;

                //Found one, time to update it.
                GD.Update("telehubs", values, null, filter, null, null);
            }
            else
            {
                //Make a new one
                GD.Insert("telehubs", new object[]{
                    telehub.RegionID,
                    telehub.RegionLocX,
                    telehub.RegionLocY,
                    telehub.TelehubLocX,
                    telehub.TelehubLocY,
                    telehub.TelehubLocZ,
                    telehub.TelehubRotX,
                    telehub.TelehubRotY,
                    telehub.TelehubRotZ,
                    telehub.BuildFromList(telehub.SpawnPos),
                    telehub.ObjectUUID,
                    telehub.Name.MySqlEscape(50)
                });
            }
        }