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
OpenSim
Framework
Region
ClientStack/LindenUDP
Environment
Interfaces
Modules/World/Land
|
@ -174,7 +174,7 @@ namespace OpenSim.Framework
|
||||||
|
|
||||||
public delegate void ParcelPropertiesUpdateRequest(LandUpdateArgs args, int local_id, IClientAPI remote_client);
|
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);
|
public delegate void ParcelObjectOwnerRequest(int local_id, IClientAPI remote_client);
|
||||||
|
|
||||||
|
|
|
@ -5713,12 +5713,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||||
case PacketType.ParcelSelectObjects:
|
case PacketType.ParcelSelectObjects:
|
||||||
ParcelSelectObjectsPacket selectPacket = (ParcelSelectObjectsPacket)Pack;
|
ParcelSelectObjectsPacket selectPacket = (ParcelSelectObjectsPacket)Pack;
|
||||||
|
|
||||||
|
List<UUID> returnIDs = new List<UUID>();
|
||||||
|
|
||||||
|
foreach(ParcelSelectObjectsPacket.ReturnIDsBlock rb in
|
||||||
|
selectPacket.ReturnIDs)
|
||||||
|
{
|
||||||
|
returnIDs.Add(rb.ReturnID);
|
||||||
|
}
|
||||||
|
|
||||||
handlerParcelSelectObjects = OnParcelSelectObjects;
|
handlerParcelSelectObjects = OnParcelSelectObjects;
|
||||||
|
|
||||||
if (handlerParcelSelectObjects != null)
|
if (handlerParcelSelectObjects != null)
|
||||||
{
|
{
|
||||||
handlerParcelSelectObjects(selectPacket.ParcelData.LocalID,
|
handlerParcelSelectObjects(selectPacket.ParcelData.LocalID,
|
||||||
Convert.ToInt32(selectPacket.ParcelData.ReturnType), this);
|
Convert.ToInt32(selectPacket.ParcelData.ReturnType), returnIDs, this);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case PacketType.ParcelObjectOwnersRequest:
|
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[,] 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[,] 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);
|
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 sendLandObjectOwners(IClientAPI remote_client);
|
||||||
void returnObject(SceneObjectGroup obj);
|
void returnObject(SceneObjectGroup obj);
|
||||||
void returnLandObjects(uint type, UUID[] owners, IClientAPI remote_client);
|
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);
|
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)
|
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
|
#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))
|
if (m_scene.ExternalChecks.ExternalChecksCanEditParcel(remote_client.AgentId, this))
|
||||||
{
|
{
|
||||||
|
@ -662,9 +662,9 @@ namespace OpenSim.Region.Environment.Modules.World.Land
|
||||||
{
|
{
|
||||||
resultLocalIDs.Add(obj.LocalId);
|
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 &&
|
else if (request_type == LandChannel.LAND_SELECT_OBJECTS_OTHER &&
|
||||||
obj.OwnerID != remote_client.AgentId)
|
obj.OwnerID != remote_client.AgentId)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue