Я использую скрипт, который просматривает плитки вокруг моего GameObject, чтобы определить, может ли он обнаружить коллайдер, через Physics2D.OverlapBox. Моя проблема заключается в том, что мой проигрыватель должен игнорироваться OverLapBox, так как я настроил его на просмотр слоев, в которых его нет, но он обнаруживается каждый раз.
Мой проигрыватель находится в слое "Default".
private void SpawnBasicWalls()
{
int layersToScan = LayerMask.GetMask("Floor", "Wall");
//for each tile around this tile
for (int x = -1; x <= 1; x++)
{
for (int y = -1; y <= 1; y++)
{
Vector2 targetPos = new Vector2(transform.position.x + x, transform.position.y + y);
Collider2D hit = Physics2D.OverlapBox(targetPos, Vector2.one * 0.8f, layersToScan);
//if there isn't a tile around
if (!hit)
{
//Add a wall in that empty adjacent tile.
GameObject goWall = Instantiate(dungMan.wallPrefab, targetPos, Quaternion.identity) as GameObject;
goWall.name = dungMan.wallPrefab.name;
goWall.transform.SetParent(dungMan.transform);
}
else
{
Debug.Log(hit);
}
}
}
//Once it's done, the gameobject is useless and thus is destroyed
Destroy(gameObject);
}
Если кто-нибудь может сказать мне, что я делаю неправильно, я был бы очень признателен.