Esempio n. 1
0
 public BitMask(BitMask mask)
 {
     bytes = new uint[mask.bytes.Length];
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = mask.bytes[i];
     }
 }
Esempio n. 2
0
 public BitMask And(BitMask mask)
 {
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = bytes[i] & mask.bytes[i];
     }
     return(this);
 }
Esempio n. 3
0
 public BitMask Xor(BitMask mask)
 {
     Debug.Assert(bytes.Length == mask.bytes.Length, "BitMasks must be the same size");
     for (var i = 0; i < mask.bytes.Length; i++)
     {
         bytes[i] = bytes[i] ^ mask.bytes[i];
     }
     return(this);
 }
Esempio n. 4
0
        private static bool _isEqual(BitMask m1, BitMask m2)
        {
            // BitMasks need to be the same size
            if (m1.bytes.Length != m2.bytes.Length)
            {
                return(false);
            }

            // Compare all elements in each BitMask's _byte array
            for (var i = 0; i < m1.bytes.Length; i++)
            {
                if (m1.bytes[i] != m2.bytes[i])
                {
                    return(false);
                }
            }

            return(true);
        }