Я сделал так и он всё равно не работае как нужно
public class RoomSpawner : MonoBehaviour
{
[SerializeField] private RoomData roomData;
[SerializeField] private Direction direction;
private enum Direction{top, down, left, right};
private bool canSpawn = true;
void Start()
{
Destroy(gameObject, 0.4f);
Invoke("SpawnRandomRoom", 0.3f);
}
void SpawnRandomRoom()
{
if(canSpawn)
{
if(direction ==
Direction.top)
Instantiate(roomData.topRooms[Random.Range(0, roomData.topRooms.Length - 1)], transform.position, Quaternion.Euler(0f, 0f, 0f));
else if(direction == Direction.down)
Instantiate(roomData.downRooms[Random.Range(0, roomData.downRooms.Length - 1)], transform.position, Quaternion.Euler(0f, 0f, 0f));
else if(direction == Direction.left)
Instantiate(roomData.leftRooms[Random.Range(0, roomData.leftRooms.Length - 1)], transform.position, Quaternion.Euler(0f, 0f, 0f));
else if(direction == Direction.right)
Instantiate(roomData.rightRooms[Random.Range(0, roomData.rightRooms.Length - 1)], transform.position, Quaternion.Euler(0f, 0f, 0f));
}
}
private void OnTriggerEnter2D(Collider2D collider)
{
if(collider.CompareTag("Room"))
canSpawn = false;
}
}