2using System.Collections;
3using System.Runtime.CompilerServices;
9 private BitArray bitset =
new BitArray(32,
true);
23 [MethodImpl(MethodImplOptions.InternalCall)]
31 [MethodImpl(MethodImplOptions.InternalCall)]
39 public void Set(
int layer,
bool value)
41 if (layer < bitset.Count)
42 bitset.Set(layer, value);
50 public bool Get(
int layer)
52 if (layer < bitset.Count)
53 return bitset.Get(layer);
64 var array =
new byte[32];
65 bitset.CopyTo(array, 0);
67 return BitConverter.ToUInt64(array, 0);
76 byte[] bytes = BitConverter.GetBytes(value);
77 bitset =
new BitArray(bytes);
static string LayerToName(int layer)
Return name of the layer
static LayerMask All
Return layer mask with all layers selected
void FromULong(ulong value)
Restore layers from ulong
bool Get(int layer)
Get state of the layer
ulong ToULong()
Convert this layer mask to ulong
void Set(int layer, bool value)
Enable or disable layer
static int NameToLayer(string name)
Return layer by it's name