コード例 #1
0
 public static void SetValue(ref uint rawValue, bool?value, PermissionBits bit)
 {
     if (value.HasValue)
     {
         if (value == true)
         {
             SetBit(ref rawValue, bit);
         }
         else
         {
             UnsetBit(ref rawValue, bit);
         }
     }
 }
コード例 #2
0
 public static PermValue GetValue(uint allow, uint deny, PermissionBits bit)
 {
     if (allow.HasBit((byte)bit))
     {
         return(PermValue.Allow);
     }
     else if (deny.HasBit((byte)bit))
     {
         return(PermValue.Deny);
     }
     else
     {
         return(PermValue.Inherit);
     }
 }
コード例 #3
0
        public static void SetValue(ref uint allow, ref uint deny, PermValue?value, PermissionBits bit)
        {
            if (value.HasValue)
            {
                switch (value)
                {
                case PermValue.Allow:
                    SetBit(ref allow, bit);
                    UnsetBit(ref deny, bit);
                    break;

                case PermValue.Deny:
                    UnsetBit(ref allow, bit);
                    SetBit(ref deny, bit);
                    break;

                default:
                    UnsetBit(ref allow, bit);
                    UnsetBit(ref deny, bit);
                    break;
                }
            }
        }
コード例 #4
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 private static void UnsetBit(ref uint value, PermissionBits bit) => value &= ~(1U << (int)bit);
コード例 #5
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 private static void SetBit(ref uint value, PermissionBits bit) => value |= 1U << (int)bit;
コード例 #6
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 public static void SetValue(ref uint allow, ref uint deny, PermValue? value, PermissionBits bit)
 {
     if (value.HasValue)
     {
         switch (value)
         {
             case PermValue.Allow:
                 SetBit(ref allow, bit);
                 UnsetBit(ref deny, bit);
                 break;
             case PermValue.Deny:
                 UnsetBit(ref allow, bit);
                 SetBit(ref deny, bit);
                 break;
             default:
                 UnsetBit(ref allow, bit);
                 UnsetBit(ref deny, bit);
                 break;
         }
     }
 }
コード例 #7
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 public static void SetValue(ref uint rawValue, bool? value, PermissionBits bit)
 {
     if (value.HasValue)
     {
         if (value == true)
             SetBit(ref rawValue, bit);
         else
             UnsetBit(ref rawValue, bit);
     }
 }
コード例 #8
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 public static bool GetValue(uint value, PermissionBits bit) => value.HasBit((byte)bit);
コード例 #9
0
ファイル: Permissions.cs プロジェクト: Carbonitex/Discord.Net
 public static PermValue GetValue(uint allow, uint deny, PermissionBits bit)
 {
     if (allow.HasBit((byte)bit))
         return PermValue.Allow;
     else if (deny.HasBit((byte)bit))
         return PermValue.Deny;
     else
         return PermValue.Inherit;
 }
コード例 #10
0
 private static void UnsetBit(ref uint value, PermissionBits bit) => value &= ~(1U << (int)bit);
コード例 #11
0
 private static void SetBit(ref uint value, PermissionBits bit) => value |= 1U << (int)bit;
コード例 #12
0
 public static bool GetValue(uint value, PermissionBits bit) => value.HasBit((byte)bit);