OpenMetaverse.ObjectManager.SetPermissions C# (CSharp) Method

SetPermissions() public method

Set the permissions on multiple objects
public SetPermissions ( Simulator simulator, List localIDs, PermissionWho who, PermissionMask permissions, bool set ) : void
simulator Simulator A reference to the object where the objects reside
localIDs List An array which contains the IDs of the objects to set the permissions on
who PermissionWho The new Who mask to set
permissions PermissionMask Which permission to modify
set bool The new state of permission
return void
        public void SetPermissions(Simulator simulator, List<uint> localIDs, PermissionWho who,
            PermissionMask permissions, bool set)
        {
            ObjectPermissionsPacket packet = new ObjectPermissionsPacket();

            packet.AgentData.AgentID = Client.Self.AgentID;
            packet.AgentData.SessionID = Client.Self.SessionID;

            // Override can only be used by gods
            packet.HeaderData.Override = false;

            packet.ObjectData = new ObjectPermissionsPacket.ObjectDataBlock[localIDs.Count];

            for (int i = 0; i < localIDs.Count; i++)
            {
                packet.ObjectData[i] = new ObjectPermissionsPacket.ObjectDataBlock();

                packet.ObjectData[i].ObjectLocalID = localIDs[i];
                packet.ObjectData[i].Field = (byte)who;
                packet.ObjectData[i].Mask = (uint)permissions;
                packet.ObjectData[i].Set = Convert.ToByte(set);
            }

            Client.Network.SendPacket(packet, simulator);
        }