public uint GenerateClientFlags(UUID userID, ISceneChildEntity part) { // libomv will moan about PrimFlags.ObjectYouOfficer being // obsolete... #pragma warning disable 0612 const PrimFlags DEFAULT_FLAGS = PrimFlags.ObjectModify | PrimFlags.ObjectCopy | PrimFlags.ObjectMove | PrimFlags.ObjectTransfer | PrimFlags.ObjectYouOwner | PrimFlags.ObjectAnyOwner | PrimFlags.ObjectOwnerModify | PrimFlags.ObjectYouOfficer; #pragma warning restore 0612 if (part == null) { return(0); } uint perms = part.GetEffectiveObjectFlags() | (uint)DEFAULT_FLAGS; GenerateClientFlagsHandler handlerGenerateClientFlags = OnGenerateClientFlags; if (handlerGenerateClientFlags != null) { Delegate[] list = handlerGenerateClientFlags.GetInvocationList(); perms = list.Cast <GenerateClientFlagsHandler>() .Aggregate(perms, (current, check) => current & check(userID, part)); } return(perms); }
public uint GenerateClientFlags(SceneObjectPart part, ScenePresence sp) { // libomv will moan about PrimFlags.ObjectYouOfficer being // obsolete... #pragma warning disable 0612 const PrimFlags DEFAULT_FLAGS = PrimFlags.ObjectModify | PrimFlags.ObjectCopy | PrimFlags.ObjectMove | PrimFlags.ObjectTransfer | PrimFlags.ObjectYouOwner | PrimFlags.ObjectAnyOwner | PrimFlags.ObjectOwnerModify; #pragma warning restore 0612 if (part == null) { return(0); } uint perms = part.GetEffectiveObjectFlags() | (uint)DEFAULT_FLAGS; GenerateClientFlagsHandler handlerGenerateClientFlags = OnGenerateClientFlags; if (handlerGenerateClientFlags != null) { Delegate[] list = handlerGenerateClientFlags.GetInvocationList(); foreach (GenerateClientFlagsHandler check in list) { perms &= check(part, sp, perms); } } return(perms); }
public uint GenerateClientFlags(UUID userID, UUID objectID, bool fastCheck) { SceneObjectPart part = m_scene.GetSceneObjectPart(objectID); if (part == null) { return(0); } // libomv will moan about PrimFlags.ObjectYouOfficer being // obsolete... #pragma warning disable 0612 uint perms = (uint)part.GetEffectiveObjectFlags() | (uint)PrimFlags.ObjectModify | (uint)PrimFlags.ObjectCopy | (uint)PrimFlags.ObjectMove | (uint)PrimFlags.ObjectTransfer | (uint)PrimFlags.ObjectYouOwner | (uint)PrimFlags.ObjectAnyOwner | (uint)PrimFlags.ObjectOwnerModify | (uint)PrimFlags.ObjectYouOfficer; #pragma warning restore 0612 GenerateClientFlagsHandler handlerGenerateClientFlags = OnGenerateClientFlags; if (handlerGenerateClientFlags != null) { Delegate[] list = handlerGenerateClientFlags.GetInvocationList(); foreach (GenerateClientFlagsHandler check in list) { perms &= check(userID, objectID, fastCheck); } } return(perms); }