private void AttachWallsTo(GameObject spaceObjectToAttachWallTo) { if (endWallBuildingInstructions == null) { endWallBuildingInstructions = endWallBuildingInstructionsPrefab .GetComponent <SinglePlacementBuildingInstructions>(); if (endWallBuildingInstructions == null) { throw new InvalidOperationException("No BuildingInstructions component found attached to " + $"{endWallBuildingInstructionsPrefab}. Please check validity " + "of this prefab."); } } int numExitPoints = spaceObjectToAttachWallTo.transform.Cast <Transform>() .Count(child => child.CompareTag(BuildingInstructions.AttachmentPointTag) || child.CompareTag(BuildingInstructions.ExitPointTag)); for (int i = 0; i < numExitPoints; i++) { GameObject[] built = endWallBuildingInstructions.Build(new[] { spaceObjectToAttachWallTo }, false); foreach (GameObject obj in built) { obj.transform.parent = spaceObjectToAttachWallTo.transform; } } }
private GameObject[] BuildSpaceForMissionSymbol(string missionSymbol, GameObject[] relativeSpaceObjects = null) { BuildingInstructions buildingInstructions = GetRandomBuildingInstructions(missionSymbol); return(buildingInstructions.Build(relativeSpaceObjects)); }