private void GenerateLane(LaneDescriptor descriptor)
 {
     switch(descriptor.Type)
     {
         case LaneType.Grass:
             GenerateEmptyLane();
             break;
         case LaneType.Car:
             var randomDensity = Random.Range(3.0f, 6.0f);
             var randomSpeed = Random.Range(0.5f, 1.5f);
             var randomDirection = Random.Range(0.0f, 1.0f) > 0.5f;
             GenerateCarLane(randomDensity, randomSpeed, randomDirection);
             break;
         case LaneType.Train:
             randomDirection = Random.Range(0.0f, 1.0f) > 0.5f;
             GenerateRailway(randomDirection);
             break;
     }
 }
    private void GenerateLane(LaneDescriptor descriptor)
    {
        switch (descriptor.Type)
        {
        case LaneType.Grass:
            GenerateEmptyLane();
            break;

        case LaneType.Car:
            var randomDensity   = Random.Range(3.0f, 6.0f);
            var randomSpeed     = Random.Range(0.5f, 1.5f);
            var randomDirection = Random.Range(0.0f, 1.0f) > 0.5f;
            GenerateCarLane(randomDensity, randomSpeed, randomDirection);
            break;

        case LaneType.Train:
            randomDirection = Random.Range(0.0f, 1.0f) > 0.5f;
            GenerateRailway(randomDirection);
            break;
        }
    }