private void addMainMashes(GameObject boardHolder, int[,] map) { float floorSpan = 1; float halfFloorSpan = floorSpan * 0.5f; float oneQuarterFloorSpan = floorSpan * 0.25f; float threeQuartersFloorSpan = floorSpan * 0.75f; /* * Vector3 size = _floorPrefab.GetComponentInChildren<MeshRenderer>().bounds.size; * float xSpacing = size.x; * float zSpacing = size.z; */ for (int row = 0; row < map.GetLength(0); row++) { for (int col = 0; col < map.GetLength(1); col++) { int value = map[row, col]; DetailedTileType type = (DetailedTileType)value; if (type == DetailedTileType.Floor) { GameObject prefab = _behavior._floorPrefab; float xPos = col * floorSpan; float zPos = -row * floorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Wall_N) { GameObject prefab = _behavior._wallPrefab; float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Wall_E) { GameObject prefab = _behavior._wallPrefab; float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Wall_S) { GameObject prefab = _behavior._wallPrefab; float xPos = col * floorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Wall_W) { GameObject prefab = _behavior._wallPrefab; float xPos = col * floorSpan; float zPos = -row * floorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_INN_NW) { GameObject prefab = _behavior._cornerInnPrefab; float xPos = col * floorSpan; float zPos = -row * floorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_INN_NE) { GameObject prefab = _behavior._cornerInnPrefab; float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_INN_SE) { GameObject prefab = _behavior._cornerInnPrefab; float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_INN_SW) { GameObject prefab = _behavior._cornerInnPrefab; float xPos = col * floorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_OUT_NW) { GameObject prefab = _behavior._cornerOutPrefab; float xPos = col * floorSpan - halfFloorSpan; float zPos = -row * floorSpan + halfFloorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_OUT_NE) { GameObject prefab = _behavior._cornerOutPrefab; float xPos = col * floorSpan - halfFloorSpan; float zPos = -row * floorSpan + halfFloorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_OUT_SW) { GameObject prefab = _behavior._cornerOutPrefab; float xPos = col * floorSpan - halfFloorSpan; float zPos = -row * floorSpan + halfFloorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } else if (type == DetailedTileType.Corner_OUT_SE) { GameObject prefab = _behavior._cornerOutPrefab; float xPos = col * floorSpan - halfFloorSpan; float zPos = -row * floorSpan + halfFloorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, type.ToString()); } } } }
private void overlapWallSerators(GameObject boardHolder, int[,] map) { GameObject prefab = _behavior._wallSeparatorPrefab; String objectName = "Wall_Separator"; float floorSpan = 1f; float halfFloorSpan = floorSpan * 0.5f; float oneQuarterFloorSpan = floorSpan * 0.25f; float threeQuartersFloorSpan = floorSpan * 0.75f; for (int row = 0; row < map.GetLength(0); row++) { for (int col = 0; col < map.GetLength(1); col++) { int value = map[row, col]; DetailedTileType type = (DetailedTileType)value; if (type == DetailedTileType.Wall_N) { float xPos = col * floorSpan; float zPos = -row * floorSpan + oneQuarterFloorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Wall_E) { float xPos = col * floorSpan - threeQuartersFloorSpan; float zPos = -row * floorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Wall_S) { float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan + threeQuartersFloorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Wall_W) { float xPos = col * floorSpan - oneQuarterFloorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_INN_NW) { float xPos = col * floorSpan + floorSpan; float zPos = -row * floorSpan + oneQuarterFloorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_INN_NE) { float xPos = col * floorSpan - threeQuartersFloorSpan; float zPos = -row * floorSpan - floorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_INN_SE) { float xPos = col * floorSpan - 2 * floorSpan; float zPos = -row * floorSpan + threeQuartersFloorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_INN_SW) { float xPos = col * floorSpan - oneQuarterFloorSpan; float zPos = -row * floorSpan + 2 * floorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_OUT_NW) { float xPos = col * floorSpan - floorSpan; float zPos = -row * floorSpan + threeQuartersFloorSpan; float yRot = 0f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_OUT_NE) { float xPos = col * floorSpan - threeQuartersFloorSpan; float zPos = -row * floorSpan; float yRot = 270f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_OUT_SW) { float xPos = col * floorSpan - oneQuarterFloorSpan; float zPos = -row * floorSpan + floorSpan; float yRot = 90f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } else if (type == DetailedTileType.Corner_OUT_SE) { float xPos = col * floorSpan; float zPos = -row * floorSpan + oneQuarterFloorSpan; float yRot = 180f; istantiate(prefab, xPos, zPos, yRot, boardHolder, row, col, objectName); } } } }