Files
LightlessAPI/LightlessSyncAPI/Data/Extensions/GroupUserPermissionsExtensions.cs
2025-12-27 19:19:20 +08:00

61 lines
2.2 KiB
C#

using LightlessSync.API.Data.Enum;
namespace LightlessSync.API.Data.Extensions;
public static class GroupUserPermissionsExtensions
{
public static bool IsDisableAnimations(this GroupUserPreferredPermissions perm)
{
return perm.HasFlag(GroupUserPreferredPermissions.DisableAnimations);
}
public static bool IsDisableSounds(this GroupUserPreferredPermissions perm)
{
return perm.HasFlag(GroupUserPreferredPermissions.DisableSounds);
}
public static bool IsDisableVFX(this GroupUserPreferredPermissions perm)
{
return perm.HasFlag(GroupUserPreferredPermissions.DisableVFX);
}
public static bool IsPaused(this GroupUserPreferredPermissions perm)
{
return perm.HasFlag(GroupUserPreferredPermissions.Paused);
}
public static bool IsSharingLocation(this GroupUserPreferredPermissions perm)
{
return perm.HasFlag(GroupUserPreferredPermissions.ShareLocation);
}
public static void SetDisableAnimations(this ref GroupUserPreferredPermissions perm, bool set)
{
if (set) perm |= GroupUserPreferredPermissions.DisableAnimations;
else perm &= ~GroupUserPreferredPermissions.DisableAnimations;
}
public static void SetDisableSounds(this ref GroupUserPreferredPermissions perm, bool set)
{
if (set) perm |= GroupUserPreferredPermissions.DisableSounds;
else perm &= ~GroupUserPreferredPermissions.DisableSounds;
}
public static void SetDisableVFX(this ref GroupUserPreferredPermissions perm, bool set)
{
if (set) perm |= GroupUserPreferredPermissions.DisableVFX;
else perm &= ~GroupUserPreferredPermissions.DisableVFX;
}
public static void SetPaused(this ref GroupUserPreferredPermissions perm, bool set)
{
if (set) perm |= GroupUserPreferredPermissions.Paused;
else perm &= ~GroupUserPreferredPermissions.Paused;
}
public static void SetShareLocation(this ref GroupUserPreferredPermissions perm, bool set)
{
if (set) perm |= GroupUserPreferredPermissions.ShareLocation;
else perm &= ~GroupUserPreferredPermissions.ShareLocation;
}
}