/// <summary>
        /// 解析Flags
        /// </summary>
        public void ParseFlagsValue()
        {
            BitMask32 value = Flags;

            IsEncrypted = value.Test(0);
            IsBuildin   = value.Test(1);
        }
        /// <summary>
        /// 解析标记位
        /// </summary>
        public static void ParseFlags(int flags, out bool isEncrypted, out bool isCollected)
        {
            BitMask32 value = flags;

            isEncrypted = value.Test(0);
            isCollected = value.Test(1);
        }
Exemple #3
0
        /// <summary>
        /// 创建标记位
        /// </summary>
        /// <param name="isEncrypted">是否为加密文件</param>
        public static int CreateFlags(bool isEncrypted)
        {
            BitMask32 flags = new BitMask32(0);

            if (isEncrypted)
            {
                flags.Open(0);
            }
            return(flags);
        }
Exemple #4
0
 /// <summary>
 /// 获取标志位的解析数据
 /// </summary>
 public FlagsData GetFlagData()
 {
     if (_flagData == null)
     {
         BitMask32 value       = Flags;
         bool      isEncrypted = value.Test(0);
         bool      isBuildin   = value.Test(1);
         bool      isRawFile   = value.Test(2);
         _flagData = new FlagsData(isEncrypted, isBuildin, isRawFile);
     }
     return(_flagData);
 }
Exemple #5
0
        public void CheckToString()
        {
            BitMask32 mask     = new BitMask32();
            string    actual   = mask.ToString();
            string    expected = "".PadLeft(BitMask32.LENGTH, '0');

            Assert.AreEqual(expected, actual);
            mask.Set(2);
            actual   = mask.ToString();
            expected = expected.Substring(0, 29) + '1' + expected.Substring(30);
            Assert.AreEqual(expected, actual);

            Assert.AreEqual("0100", mask.ToString(4));
        }
        /// <summary>
        /// 设置Flags
        /// </summary>
        public void SetFlagsValue(bool isEncrypted, bool isBuildin)
        {
            IsEncrypted = isEncrypted;
            IsBuildin   = isBuildin;

            BitMask32 mask = new BitMask32(0);

            if (isEncrypted)
            {
                mask.Open(0);
            }
            if (isBuildin)
            {
                mask.Open(1);
            }
            Flags = mask;
        }
Exemple #7
0
 public static uint gather(uint src, BitMask32 mask)
 => gather(src, (uint)mask);
Exemple #8
0
 public static uint ToScalar(this BitMask32 src)
 => (uint)src;
Exemple #9
0
 public static BitVector32 ToBitVector(this BitMask32 src)
 => ((uint)src).ToBitVector();