aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
-rw-r--r--OpenSim/Region/CoreModules/World/Land/LandObject.cs36
1 files changed, 13 insertions, 23 deletions
diff --git a/OpenSim/Region/CoreModules/World/Land/LandObject.cs b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
index f5cb1d7..920eee8 100644
--- a/OpenSim/Region/CoreModules/World/Land/LandObject.cs
+++ b/OpenSim/Region/CoreModules/World/Land/LandObject.cs
@@ -47,12 +47,10 @@ namespace OpenSim.Region.CoreModules.World.Land
47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 47 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
48 private static readonly string LogHeader = "[LAND OBJECT]"; 48 private static readonly string LogHeader = "[LAND OBJECT]";
49 49
50 private bool[,] m_landBitmap;
51 private readonly int landUnit = 4; 50 private readonly int landUnit = 4;
52 51
53 private int m_lastSeqId = 0; 52 private int m_lastSeqId = 0;
54 53
55 protected LandData m_landData = new LandData();
56 protected Scene m_scene; 54 protected Scene m_scene;
57 protected List<SceneObjectGroup> primsOverMe = new List<SceneObjectGroup>(); 55 protected List<SceneObjectGroup> primsOverMe = new List<SceneObjectGroup>();
58 protected Dictionary<uint, UUID> m_listTransactions = new Dictionary<uint, UUID>(); 56 protected Dictionary<uint, UUID> m_listTransactions = new Dictionary<uint, UUID>();
@@ -60,27 +58,18 @@ namespace OpenSim.Region.CoreModules.World.Land
60 protected ExpiringCache<UUID, bool> m_groupMemberCache = new ExpiringCache<UUID, bool>(); 58 protected ExpiringCache<UUID, bool> m_groupMemberCache = new ExpiringCache<UUID, bool>();
61 protected TimeSpan m_groupMemberCacheTimeout = TimeSpan.FromSeconds(30); // cache invalidation after 30 seconds 59 protected TimeSpan m_groupMemberCacheTimeout = TimeSpan.FromSeconds(30); // cache invalidation after 30 seconds
62 60
63 public bool[,] LandBitmap 61 public bool[,] LandBitmap { get; set; }
64 {
65 get { return m_landBitmap; }
66 set { m_landBitmap = value; }
67 }
68 62
69 #endregion 63 #endregion
70 64
71 public int GetPrimsFree() 65 public int GetPrimsFree()
72 { 66 {
73 m_scene.EventManager.TriggerParcelPrimCountUpdate(); 67 m_scene.EventManager.TriggerParcelPrimCountUpdate();
74 int free = GetSimulatorMaxPrimCount() - m_landData.SimwidePrims; 68 int free = GetSimulatorMaxPrimCount() - LandData.SimwidePrims;
75 return free; 69 return free;
76 } 70 }
77 71
78 public LandData LandData 72 public LandData LandData { get; set; }
79 {
80 get { return m_landData; }
81
82 set { m_landData = value; }
83 }
84 73
85 public IPrimCounts PrimCounts { get; set; } 74 public IPrimCounts PrimCounts { get; set; }
86 75
@@ -135,10 +124,11 @@ namespace OpenSim.Region.CoreModules.World.Land
135 { 124 {
136 m_scene = scene; 125 m_scene = scene;
137 if (m_scene == null) 126 if (m_scene == null)
138 m_landBitmap = new bool[Constants.RegionSize / landUnit, Constants.RegionSize / landUnit]; 127 LandBitmap = new bool[Constants.RegionSize / landUnit, Constants.RegionSize / landUnit];
139 else 128 else
140 m_landBitmap = new bool[m_scene.RegionInfo.RegionSizeX / landUnit, m_scene.RegionInfo.RegionSizeY / landUnit]; 129 LandBitmap = new bool[m_scene.RegionInfo.RegionSizeX / landUnit, m_scene.RegionInfo.RegionSizeY / landUnit];
141 130
131 LandData = new LandData();
142 LandData.OwnerID = owner_id; 132 LandData.OwnerID = owner_id;
143 if (is_group_owned) 133 if (is_group_owned)
144 LandData.GroupID = owner_id; 134 LandData.GroupID = owner_id;
@@ -1099,7 +1089,7 @@ namespace OpenSim.Region.CoreModules.World.Land
1099 { 1089 {
1100 foreach (SceneObjectGroup obj in primsOverMe) 1090 foreach (SceneObjectGroup obj in primsOverMe)
1101 { 1091 {
1102 if (obj.OwnerID == m_landData.OwnerID) 1092 if (obj.OwnerID == LandData.OwnerID)
1103 { 1093 {
1104 if (!returns.ContainsKey(obj.OwnerID)) 1094 if (!returns.ContainsKey(obj.OwnerID))
1105 returns[obj.OwnerID] = 1095 returns[obj.OwnerID] =
@@ -1108,11 +1098,11 @@ namespace OpenSim.Region.CoreModules.World.Land
1108 } 1098 }
1109 } 1099 }
1110 } 1100 }
1111 else if (type == (uint)ObjectReturnType.Group && m_landData.GroupID != UUID.Zero) 1101 else if (type == (uint)ObjectReturnType.Group && LandData.GroupID != UUID.Zero)
1112 { 1102 {
1113 foreach (SceneObjectGroup obj in primsOverMe) 1103 foreach (SceneObjectGroup obj in primsOverMe)
1114 { 1104 {
1115 if (obj.GroupID == m_landData.GroupID) 1105 if (obj.GroupID == LandData.GroupID)
1116 { 1106 {
1117 if (!returns.ContainsKey(obj.OwnerID)) 1107 if (!returns.ContainsKey(obj.OwnerID))
1118 returns[obj.OwnerID] = 1108 returns[obj.OwnerID] =
@@ -1125,9 +1115,9 @@ namespace OpenSim.Region.CoreModules.World.Land
1125 { 1115 {
1126 foreach (SceneObjectGroup obj in primsOverMe) 1116 foreach (SceneObjectGroup obj in primsOverMe)
1127 { 1117 {
1128 if (obj.OwnerID != m_landData.OwnerID && 1118 if (obj.OwnerID != LandData.OwnerID &&
1129 (obj.GroupID != m_landData.GroupID || 1119 (obj.GroupID != LandData.GroupID ||
1130 m_landData.GroupID == UUID.Zero)) 1120 LandData.GroupID == UUID.Zero))
1131 { 1121 {
1132 if (!returns.ContainsKey(obj.OwnerID)) 1122 if (!returns.ContainsKey(obj.OwnerID))
1133 returns[obj.OwnerID] = 1123 returns[obj.OwnerID] =