Procedural Spline-based Road Creation

void ARoadSpline::BuildRoad()
{
//set the spline point counter to be equal to the number of spline points
NumSplinePts = RoadSplineComp->GetNumSplinePoints();

    	//make RoadDataArray the same length as the spline points
    	if (RoadDataArray.Num() < NumSplinePts)
    	{
    		for (int32 i = 0; i < NumSplinePts; i++)
    		{
    			RoadDataArray.Add(FRoadSplineData(0, 1, 1));
    		}
    	}
    
    	else if (NumSplinePts < RoadDataArray.Num())
    	{
    		for (int32 i = RoadDataArray.Num(); i > NumSplinePts; i--)
    		{
    			RoadDataArray.Remove(RoadDataArray.Last());
    		}
    	}
    
    	BuildRoadMesh(RoadMesh);
    
    }