Move Telehub tables and data from EstateSettings to RegionSettings.

This is damage control es EstateSettings is not the place this can be put.
EstateSettings is nt unique to a region and therefore would introduce
a hard limit of one telehub per estate, completely shutting off the
option of having SL style telehubs, e.g. one per region. Whole
estate teleport routing can still be implemented id desiresd, this
way all options are open while the other way most options get closed
off.
This commit is contained in:
Melanie
2012-01-22 11:36:04 +00:00
parent 32d58d6e3e
commit 68365c20c0
8 changed files with 273 additions and 267 deletions

View File

@@ -157,7 +157,6 @@ namespace OpenSim.Data.MySQL
DoCreate(es);
LoadBanList(es);
LoadSpawnPoints(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
@@ -211,7 +210,6 @@ namespace OpenSim.Data.MySQL
}
LoadBanList(es);
LoadSpawnPoints(es);
es.EstateManagers = LoadUUIDList(es.EstateID, "estate_managers");
es.EstateAccess = LoadUUIDList(es.EstateID, "estate_users");
es.EstateGroups = LoadUUIDList(es.EstateID, "estate_groups");
@@ -298,74 +296,11 @@ namespace OpenSim.Data.MySQL
}
SaveBanList(es);
SaveSpawnPoints(es);
SaveUUIDList(es.EstateID, "estate_managers", es.EstateManagers);
SaveUUIDList(es.EstateID, "estate_users", es.EstateAccess);
SaveUUIDList(es.EstateID, "estate_groups", es.EstateGroups);
}
private void LoadSpawnPoints(EstateSettings es)
{
es.ClearSpawnPoints();
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
dbcon.Open();
using (MySqlCommand cmd = dbcon.CreateCommand())
{
uint EstateID = es.EstateID;
cmd.CommandText = "select PointX, PointY, PointZ from spawn_points where EstateID = ?EstateID";
cmd.Parameters.AddWithValue("?EstateID", es.EstateID);
using (IDataReader r = cmd.ExecuteReader())
{
while (r.Read())
{
Vector3 point = new Vector3();
point.X = (float)r["PointX"];
point.Y = (float)r["PointY"];
point.Z = (float)r["PointZ"];
es.AddSpawnPoint(point);
}
}
}
}
}
private void SaveSpawnPoints(EstateSettings es)
{
using (MySqlConnection dbcon = new MySqlConnection(m_connectionString))
{
dbcon.Open();
using (MySqlCommand cmd = dbcon.CreateCommand())
{
cmd.CommandText = "delete from spawn_points where EstateID = ?EstateID";
cmd.Parameters.AddWithValue("?EstateID", es.EstateID.ToString());
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
cmd.CommandText = "insert into spawn_points (EstateID, PointX, PointY, PointZ) values ( ?EstateID, ?PointX, ?PointY,?PointZ)";
foreach (Vector3 p in es.SpawnPoints())
{
cmd.Parameters.AddWithValue("?EstateID", es.EstateID.ToString());
cmd.Parameters.AddWithValue("?PointX", p.X);
cmd.Parameters.AddWithValue("?PointY", p.Y);
cmd.Parameters.AddWithValue("?PointZ", p.Z);
cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
}
}
}
}
private void LoadBanList(EstateSettings es)
{
es.ClearBans();