private void GenerateRoom() { for (int i = 0; i < 10; i++) { Vector2Int bounds = model.shape; Vector2Int coord = new Vector2Int(UnityEngine.Random.Range(0, bounds.x - roomSize.xMin), UnityEngine.Random.Range(0, bounds.y - roomSize.yMin)); Vector2Int size = new Vector2Int(UnityEngine.Random.Range(roomSize.xMin, Mathf.Min(roomSize.xMax, bounds.x - coord.x)), UnityEngine.Random.Range(roomSize.yMin, Mathf.Min(roomSize.yMax, bounds.y - coord.y))); if (!model.RoomOverlaps(coord, size)) { model.BuildRoom(coord, size); return; } } }