OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
/// <summary>
/// Handle the deselection of a prim from the client.
/// </summary>
/// <param name="primLocalID"></param>
/// <param name="remoteClient"></param>
Handle the deselection of a prim from the client.
Handle the deselection of a prim from the client .
public void DeselectPrim(uint primLocalID, IClientAPI remoteClient)
        {
            SceneObjectPart part = GetSceneObjectPart(primLocalID);
            if (part == null)
                return;
            if (part.ParentGroup.RootPart.LocalId != part.LocalId)
                return;
            part.ParentGroup.IsSelected = false;
            part.ParentGroup.ScheduleGroupForFullUpdate();
             If it's not an attachment, and we are allowed to move it,
             then we might have done so. If we moved across a parcel
             boundary, we will need to recount prims on the parcels.
             For attachments, that makes no sense.
            if (!part.ParentGroup.IsAttachment)
            {
                if (Permissions.CanEditObject(
                        part.UUID, remoteClient.AgentId) 
                        || Permissions.CanMoveObject(
                        part.UUID, remoteClient.AgentId))
                    EventManager.TriggerParcelPrimCountTainted();
            }
        }
public void DeselectPrim ( uint primLocalID , IClientAPI remoteClient ) { SceneObjectPart part = GetSceneObjectPart ( primLocalID ) ; if ( part == null ) return ; if ( part . ParentGroup . RootPart . LocalId != part . LocalId ) return ; part . ParentGroup . IsSelected = false ; part . ParentGroup . ScheduleGroupForFullUpdate ( ) ; if ( ! part . ParentGroup . IsAttachment ) { if ( Permissions . CanEditObject ( part . UUID , remoteClient . AgentId ) || Permissions . CanMoveObject ( part . UUID , remoteClient . AgentId ) ) EventManager . TriggerParcelPrimCountTainted ( ) ; } }
Handle the deselection of a prim from the client.
Handle the deselection of a prim from the client .
// A deselect packet contains all the local prims being deselected.  However, since selection is still // group based we only want the root prim to trigger a full update - otherwise on objects with many prims // we end up sending many duplicate ObjectUpdates // This is wrong, wrong, wrong. Selection should not be // handled by group, but by prim. Legacy cruft. // TODO: Make selection flagging per prim! // // If it's not an attachment, and we are allowed to move it, // then we might have done so. If we moved across a parcel // boundary, we will need to recount prims on the parcels. // For attachments, that makes no sense. //
primLocalID
uint
None
remoteClient
IClientAPI
None