public void RevokePermissions(UUID sourceID, ScriptPermissions permissions) { int i; if ((permissions & ScriptPermissions.TriggerAnimation) != 0) { lock (m_Lock) { i = 0; while (i < m_ActiveAnimations.Count) { if (m_ActiveAnimations[i].SourceID == sourceID) { m_ActiveAnimations.RemoveAt(i); } else { ++i; } } } } }
public abstract void RevokePermissions(UUID sourceID, UUID itemID, ScriptPermissions permissions);
public abstract ScriptPermissions RequestPermissions(ObjectPart part, UUID itemID, ScriptPermissions permissions, UUID experienceID);
protected void RevokeAnimPermissions(UUID sourceID, ScriptPermissions permissions) => m_AnimationController.RevokePermissions(sourceID, permissions);
public abstract void RevokePermissions(UUID permissionsKey, ScriptPermissions permissions);
public override void RevokePermissions(UUID sourceID, UUID itemID, ScriptPermissions permissions) => RevokeAnimPermissions(sourceID, permissions);
public override ScriptPermissions RequestPermissions(ObjectPart part, UUID itemID, ScriptPermissions permissions, UUID experienceID) { var autoGrant = ScriptPermissions.None; ObjectGroup sitOn = SittingOnObject; if ((sitOn != null && sitOn.ID == itemID) || part.ObjectGroup.AttachPoint != Types.Agent.AttachmentPoint.NotAttached) { autoGrant |= ScriptPermissions.ControlCamera; autoGrant |= ScriptPermissions.TakeControls; autoGrant |= ScriptPermissions.TrackCamera; autoGrant |= ScriptPermissions.TriggerAnimation; } if (part.ObjectGroup.AttachPoint != Types.Agent.AttachmentPoint.NotAttached) { autoGrant |= ScriptPermissions.OverrideAnimations; autoGrant |= ScriptPermissions.Attach; } if ((permissions & autoGrant) == permissions) { return(permissions); } AgentCircuit circuit; SceneInterface scene = part.ObjectGroup.Scene; if (experienceID != UUID.Zero && Circuits.TryGetValue(scene.ID, out circuit) && !circuit.AddExperienceTimeout(part.ID, itemID)) { return(ScriptPermissions.None); } var m = new ScriptQuestion { ExperienceID = experienceID, ItemID = itemID, ObjectName = part.ObjectGroup.Name, ObjectOwner = scene.AvatarNameService.ResolveName(part.Owner).FullName, Questions = permissions, TaskID = part.ID }; SendMessageAlways(m, part.ObjectGroup.Scene.ID); return(ScriptPermissions.None); }
public override ScriptPermissions RequestPermissions(ObjectPart part, UUID itemID, ScriptPermissions permissions) => RequestPermissions(part, itemID, permissions, UUID.Zero);
public override ScriptPermissions RequestPermissions(ObjectPart part, UUID itemID, ScriptPermissions permissions, UUID experienceID) { throw new NotImplementedException(); }
public override void RevokePermissions(UUID permissionsKey, ScriptPermissions permissions) { /* nothing to do */ }
public PermsGranterInfo(PermsGranterInfo i) { PermsGranter = i.PermsGranter; PermsMask = i.PermsMask; DebitPermissionKey = i.DebitPermissionKey; }