public static List <Vector3> CreateRoofTop(Building.BuildingTerminations buildingTerminations,
                                                   List <Vector3> roofBase, Vector3 planeDirection, float moduleHeight)
        {
            switch (buildingTerminations)
            {
            case Building.BuildingTerminations.Flat:
                return(CreateFlatRooftop(roofBase));

            case Building.BuildingTerminations.Rounded:
                return(CreateRoundedRooftop(roofBase, planeDirection, moduleHeight));

            case Building.BuildingTerminations.StairsOut:
                return(CreateStairsOutRooftop(roofBase));

            case Building.BuildingTerminations.StairsIn:
                return(CreateStairsInRooftop(roofBase));

            case Building.BuildingTerminations.ToMiddle:
                return(CreateToMiddleUpRooftop(roofBase));

            case Building.BuildingTerminations.Floor:
                return(CreateFloor(roofBase));

            default:
                throw new ArgumentOutOfRangeException("buildingTerminations", buildingTerminations, null);
            }
        }
        public static List <int> GetRoofTriangles(List <Vector3> vertices, Building.BuildingTerminations termination,
                                                  int buildingShapeVerts)
        {
            switch (termination)
            {
            case Building.BuildingTerminations.Flat:
                return(GetFlatRooftopTriangles(vertices, 0));

            case Building.BuildingTerminations.Rounded:
                return(GetRoundedRooftopTriangles(vertices, buildingShapeVerts));

            case Building.BuildingTerminations.StairsOut:
                break;

            case Building.BuildingTerminations.StairsIn:
                break;

            case Building.BuildingTerminations.ToMiddle:
                break;

            case Building.BuildingTerminations.Floor:
                return(GetFloorTriangles(vertices));

            default:
                throw new ArgumentOutOfRangeException("termination", termination, null);
            }

            return(new List <int>());
        }