Plumb in the list if user IDs to the land module to allow selection
of objects by owner name0.6.1-post-fixes
parent
0092ecbce7
commit
e9ad6f7913
|
@ -174,7 +174,7 @@ namespace OpenSim.Framework
|
|||
|
||||
public delegate void ParcelPropertiesUpdateRequest(LandUpdateArgs args, int local_id, IClientAPI remote_client);
|
||||
|
||||
public delegate void ParcelSelectObjects(int land_local_id, int request_type, IClientAPI remote_client);
|
||||
public delegate void ParcelSelectObjects(int land_local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client);
|
||||
|
||||
public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
|
||||
|
||||
|
|
|
@ -5713,12 +5713,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
|||
case PacketType.ParcelSelectObjects:
|
||||
ParcelSelectObjectsPacket selectPacket = (ParcelSelectObjectsPacket)Pack;
|
||||
|
||||
List<UUID> returnIDs = new List<UUID>();
|
||||
|
||||
foreach(ParcelSelectObjectsPacket.ReturnIDsBlock rb in
|
||||
selectPacket.ReturnIDs)
|
||||
{
|
||||
returnIDs.Add(rb.ReturnID);
|
||||
}
|
||||
|
||||
handlerParcelSelectObjects = OnParcelSelectObjects;
|
||||
|
||||
if (handlerParcelSelectObjects != null)
|
||||
{
|
||||
handlerParcelSelectObjects(selectPacket.ParcelData.LocalID,
|
||||
Convert.ToInt32(selectPacket.ParcelData.ReturnType), this);
|
||||
Convert.ToInt32(selectPacket.ParcelData.ReturnType), returnIDs, this);
|
||||
}
|
||||
break;
|
||||
case PacketType.ParcelObjectOwnersRequest:
|
||||
|
|
|
@ -68,7 +68,7 @@ namespace OpenSim.Region.Environment.Interfaces
|
|||
bool[,] getSquareLandBitmap(int start_x, int start_y, int end_x, int end_y);
|
||||
bool[,] modifyLandBitmapSquare(bool[,] land_bitmap, int start_x, int start_y, int end_x, int end_y, bool set_value);
|
||||
bool[,] mergeLandBitmaps(bool[,] bitmap_base, bool[,] bitmap_add);
|
||||
void sendForceObjectSelect(int local_id, int request_type, IClientAPI remote_client);
|
||||
void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client);
|
||||
void sendLandObjectOwners(IClientAPI remote_client);
|
||||
void returnObject(SceneObjectGroup obj);
|
||||
void returnLandObjects(uint type, UUID[] owners, IClientAPI remote_client);
|
||||
|
|
|
@ -976,9 +976,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
|||
join(west, south, east, north, remote_client.AgentId);
|
||||
}
|
||||
|
||||
public void handleParcelSelectObjectsRequest(int local_id, int request_type, IClientAPI remote_client)
|
||||
public void handleParcelSelectObjectsRequest(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client)
|
||||
{
|
||||
m_landList[local_id].sendForceObjectSelect(local_id, request_type, remote_client);
|
||||
m_landList[local_id].sendForceObjectSelect(local_id, request_type, returnIDs, remote_client);
|
||||
}
|
||||
|
||||
public void handleParcelObjectOwnersRequest(int local_id, IClientAPI remote_client)
|
||||
|
|
|
@ -645,7 +645,7 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
|||
|
||||
#region Object Select and Object Owner Listing
|
||||
|
||||
public void sendForceObjectSelect(int local_id, int request_type, IClientAPI remote_client)
|
||||
public void sendForceObjectSelect(int local_id, int request_type, List<UUID> returnIDs, IClientAPI remote_client)
|
||||
{
|
||||
if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this))
|
||||
{
|
||||
|
@ -662,9 +662,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
|||
{
|
||||
resultLocalIDs.Add(obj.LocalId);
|
||||
}
|
||||
// else if (request_type == LandManager.LAND_SELECT_OBJECTS_GROUP && ...) // TODO: group support
|
||||
// {
|
||||
// }
|
||||
else if (request_type == LandChannel.LAND_SELECT_OBJECTS_GROUP && obj.GroupID == landData.GroupID && landData.GroupID != UUID.Zero)
|
||||
{
|
||||
}
|
||||
else if (request_type == LandChannel.LAND_SELECT_OBJECTS_OTHER &&
|
||||
obj.OwnerID != remote_client.AgentId)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue