public void GenerateBlock(LinkedList <IDescriptorWithID> list)
 {
     if (_firstNotSecondBlock)
     {
         _blockGen.GenerateBlock(list, 0, 1);
         var car = (CarDescriptor)list.First.Value;
         list.RemoveFirst();
         _time     = SS.PowerTime + Random.Range(_minDelay, _maxDelay);
         _distance = _time * _addVelocity;
         var amcar = new AutoMeteorCarDescriptor(car.Position, car.Velocity, _addVelocity,
                                                 _distance + car.Velocity * _time, _time);
         list.AddLast(amcar);
         _firstNotSecondBlock = false;
         HasMore = true;
     }
     else
     {
         var tmp = SS.MinJumpDistance;
         //todo костыльчик
         SS.MinJumpDistance = SS.MaxJumpDistance * .9f;
         var     car = (CarDescriptor)list.First.Value;
         Vector2 pos = car.Position;
         pos.y       += _distance;
         car.Position = pos;
         _blockGen.GenerateBlock(list);
         SS.MinJumpDistance = tmp;
         foreach (CarDescriptor c in list)
         {
             c.Velocity = car.Velocity;
         }
         HasMore = false;
     }
 }
 public AutoMeteorCar(AutoMeteorCarDescriptor desc)
     : this(desc.Velocity, desc.AddVelocity, desc.Distance, desc.Time)
 {
 }