Hi,
I am having some problems working with Layermasks.
I want to create a Layermask which only interacts with the Layer of the gameobject and another Layer which is always 4 Layers below the gameobject Layer.
However I can´t use specific Layer numbers since my gameobject has to switch Layers all the time.
Would love if someone can help me out.
bool CollisionCheck(Vector2 v2StartOffSet, Vector2 v2EndOffSet)
{
//This is the part I can´t figure out
int iWorldLayer = gameObject.layer - 4; //Currently Layer: 11
int iPlayerLayer = gameObject.layer; //Currently Layer: 15
int iTargetLayer = iWorldLayer | iPlayerLayer;
LayerMask lmTargetLayer = 1 << iTargetLayer;
Vector2 v2LineStart = (Vector2)gameObject.transform.position + v2BoxColliderCenter + v2StartOffSet;
Vector2 v2LineEnd = (Vector2)gameObject.transform.position + v2BoxColliderCenter + v2EndOffSet;
if(bRenderRaysInEditor == true)
{
Debug.DrawLine(v2LineStart, v2LineEnd, Color.blue);
}
RaycastHit2D Hit;
Hit = Physics2D.Linecast(v2LineStart, v2LineEnd, lmTargetLayer);
return Hit;
}