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) { }