mirror of
https://github.com/AlexMacocian/MonoGame.Extended.git
synced 2026-07-22 18:29:30 +00:00
Move source projects into source directory
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
using System;
|
||||
using System.Collections;
|
||||
|
||||
namespace MonoGame.Extended.Entities
|
||||
{
|
||||
public static class BitArrayExtensions
|
||||
{
|
||||
public static bool IsEmpty(this BitArray bitArray)
|
||||
{
|
||||
for (var i = 0; i < bitArray.Length; i++)
|
||||
{
|
||||
if (bitArray[i])
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool ContainsAll(this BitArray bitArray, BitArray other)
|
||||
{
|
||||
var otherBitsLength = other.Length;
|
||||
var bitsLength = bitArray.Length;
|
||||
|
||||
for (var i = bitsLength; i < otherBitsLength; i++)
|
||||
{
|
||||
if (other[i])
|
||||
return false;
|
||||
}
|
||||
|
||||
var s = Math.Min(bitsLength, otherBitsLength);
|
||||
|
||||
for (var i = 0; s > i; i++)
|
||||
{
|
||||
if ((bitArray[i] & other[i]) != other[i])
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static bool Intersects(this BitArray bitArray, BitArray other)
|
||||
{
|
||||
var s = Math.Min(bitArray.Length, other.Length);
|
||||
|
||||
for (var i = 0; s > i; i++)
|
||||
{
|
||||
if (bitArray[i] & other[i])
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user