28 using System.Collections.Generic;
30 using OpenSim.Framework;
31 using OpenSim.Region.Framework.Interfaces;
32 using OpenSim.Region.Framework.Scenes;
40 public const float BAN_LINE_SAFETY_HEIGHT = 100;
46 public const int LAND_RESULT_MULTIPLE = 1;
47 public const int LAND_RESULT_SINGLE = 0;
50 public const int LAND_SELECT_OBJECTS_OWNER = 2;
51 public const int LAND_SELECT_OBJECTS_GROUP = 4;
52 public const int LAND_SELECT_OBJECTS_OTHER = 8;
55 public const byte LAND_TYPE_PUBLIC = 0;
57 public const byte LAND_TYPE_OWNED_BY_OTHER = 1;
58 public const byte LAND_TYPE_OWNED_BY_GROUP = 2;
59 public const byte LAND_TYPE_OWNED_BY_REQUESTER = 3;
60 public const byte LAND_TYPE_IS_FOR_SALE = 4;
61 public const byte LAND_TYPE_IS_BEING_AUCTIONED = 5;
62 public const byte LAND_TYPE_unused6 = 6;
63 public const byte LAND_TYPE_unused7 = 7;
65 public const byte LAND_FLAG_unused8 = 0x08;
66 public const byte LAND_FLAG_HIDEAVATARS = 0x10;
67 public const byte LAND_FLAG_LOCALSOUND = 0x20;
68 public const byte LAND_FLAG_PROPERTY_BORDER_WEST = 0x40;
69 public const byte LAND_FLAG_PROPERTY_BORDER_SOUTH = 0x80;
73 public const int START_LAND_LOCAL_ID = 1;
77 private readonly
Scene m_scene;
83 m_landManagementModule = landManagementMod;
86 #region ILandChannel Members
90 if (m_landManagementModule != null)
92 return m_landManagementModule.GetLandObject(x_float, y_float);
96 obj.LandData.Name =
"NO LAND";
102 if (m_landManagementModule != null)
104 return m_landManagementModule.GetLandObject(localID);
111 return GetLandObject(position.X, position.Y);
116 if (m_landManagementModule != null)
118 return m_landManagementModule.GetLandObject(x, y);
122 obj.LandData.Name =
"NO LAND";
128 if (m_landManagementModule != null)
130 return m_landManagementModule.AllParcels();
133 return new List<ILandObject>();
136 public void Clear(
bool setupDefaultParcel)
138 if (m_landManagementModule != null)
139 m_landManagementModule.Clear(setupDefaultParcel);
144 if (m_landManagementModule != null)
146 return m_landManagementModule.ParcelsNearPoint(position);
149 return new List<ILandObject>();
154 if (m_landManagementModule != null)
156 return m_landManagementModule.AllowedForcefulBans;
164 if (m_landManagementModule != null)
166 m_landManagementModule.UpdateLandObject(localID, data);
170 public void Join(
int start_x,
int start_y,
int end_x,
int end_y, UUID attempting_user_id)
172 if (m_landManagementModule != null)
174 m_landManagementModule.Join(start_x, start_y, end_x, end_y, attempting_user_id);
178 public void Subdivide(
int start_x,
int start_y,
int end_x,
int end_y, UUID attempting_user_id)
180 if (m_landManagementModule != null)
182 m_landManagementModule.Subdivide(start_x, start_y, end_x, end_y, attempting_user_id);
188 if (m_landManagementModule != null)
190 m_landManagementModule.ReturnObjectsInParcel(localID, returnType, agentIDs, taskIDs, remoteClient);
196 if (m_landManagementModule != null)
198 m_landManagementModule.setParcelObjectMaxOverride(overrideDel);
204 if (m_landManagementModule != null)
206 m_landManagementModule.setSimulatorObjectMaxOverride(overrideDel);
212 if (m_landManagementModule != null)
214 m_landManagementModule.setParcelOtherCleanTime(remoteClient, localID, otherCleanTime);
219 if (m_landManagementModule != null)
221 m_landManagementModule.sendClientInitialLandInfo(remoteClient);
ILandObject GetLandObject(int x, int y)
Get the parcel at the specified point
ILandObject GetLandObject(int localID)
Get the parcel given the land's local id.
void Subdivide(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id)
void setParcelObjectMaxOverride(overrideParcelMaxPrimCountDelegate overrideDel)
void SetParcelOtherCleanTime(IClientAPI remoteClient, int localID, int otherCleanTime)
void setSimulatorObjectMaxOverride(overrideSimulatorMaxPrimCountDelegate overrideDel)
void sendClientInitialLandInfo(IClientAPI remoteClient)
ILandObject GetLandObject(Vector3 position)
Get the parcel at the specified point
void Join(int start_x, int start_y, int end_x, int end_y, UUID attempting_user_id)
Keeps track of a specific piece of land's information
bool IsForcefulBansAllowed()
ILandObject GetLandObject(float x_float, float y_float)
Get the parcel at the specified point
Details of a Parcel of land
LandChannel(Scene scene, LandManagementModule landManagementMod)
delegate int overrideParcelMaxPrimCountDelegate(ILandObject obj)
void UpdateLandObject(int localID, LandData data)
delegate int overrideSimulatorMaxPrimCountDelegate(ILandObject obj)
void ReturnObjectsInParcel(int localID, uint returnType, UUID[] agentIDs, UUID[] taskIDs, IClientAPI remoteClient)
List< ILandObject > AllParcels()
Get all parcels
List< ILandObject > ParcelsNearPoint(Vector3 position)
Get the parcels near the specified point
void Clear(bool setupDefaultParcel)
Clear the land channel of all parcels.