10 private const int InvalidLayer = -1;
13 private static int defaultLayer = InvalidLayer;
14 private static int surfaceLayer = InvalidLayer;
15 private static int interactionLayer = InvalidLayer;
16 private static int activationLayer = InvalidLayer;
19 public static int Default
23 return GetLayerNumber(ref defaultLayer,
"Default");
27 public static int Surface
31 return GetLayerNumber(ref surfaceLayer,
"SR");
34 public static int Interaction
38 return GetLayerNumber(ref interactionLayer,
"Interaction");
42 public static int Activation
46 return GetLayerNumber(ref activationLayer,
"Activation");
59 for (
int j = 0; j < layerMasks.Length; j++)
61 if (layer.IsInLayerMask(layerMasks[i]))
77 return ((1 << layer) & layerMask) != 0;
84 public static int Combine(
this LayerMask[] layerMaskList)
86 int combinedLayerMask = 0;
87 for (
int i = 0; i < layerMaskList.Length; i++)
89 combinedLayerMask = combinedLayerMask | layerMaskList[i].value;
91 return combinedLayerMask;
94 public static LayerMask
ToMask(
int layer)
99 private static int GetLayerNumber(ref
int cache,
string layerName)
101 if (cache == InvalidLayer)
103 cache = LayerMask.NameToLayer(layerName);