public SlowingAttackSpeedDebuff(IAutoAttackSpeedChangeable targetHero, IIntervalFromLastTickProvider intervalFromLastTickProvider, double slowingRate, TimeSpan duration) { Contract.Assert(targetHero != null, "targetHero!=null"); Contract.Assert(intervalFromLastTickProvider != null, "intervalFromLastTickProvider!=null"); Contract.Assert(slowingRate > 1, "slowingRate > 1"); Contract.Assert(duration > TimeSpan.Zero, "duration > TimeSpan.Zero"); _targetHero = targetHero; _intervalFromLastTickProvider = intervalFromLastTickProvider; _slowingRate = slowingRate; _duration = duration; }
public SlowingAttackSpeedDebuffBuilder(IEffectIdProvider effectIdProvider, IIntervalFromLastTickProvider intervalFromLastTickProvider, double slowingRate, TimeSpan duration) { Contract.Assert(effectIdProvider != null, "effectIdProvider !=null"); Contract.Assert(slowingRate >= 1, "slowingRate >= 1"); Contract.Assert(duration >= TimeSpan.Zero, "duration >= TimeSpan.Zero"); Contract.Assert(intervalFromLastTickProvider != null, "intervalFromLastTickProvider !=null"); EffectId = effectIdProvider.GetId(_name, 0); _intervalFromLastTickProvider = intervalFromLastTickProvider; _slowingRate = slowingRate; _duration = duration; }
public SlowingMovementDebuffBuilder(IEffectIdProvider effectIdProvider, IIntervalFromLastTickProvider intervalFromLastTickProvider, int sourseHeroId, double slowingRate, TimeSpan duration) { Contract.Assert(slowingRate >= 1, "slowingRate >= 1"); Contract.Assert(duration >= TimeSpan.Zero, "duration >= TimeSpan.Zero"); Contract.Assert(intervalFromLastTickProvider != null, "intervalFromLastTickProvider !=null"); Contract.Assert(sourseHeroId >= 0, "sourseHeroId >= 0"); Contract.Assert(effectIdProvider != null, "effectIdProvider !=null"); EffectId = effectIdProvider.GetId(_name, sourseHeroId); _intervalFromLastTickProvider = intervalFromLastTickProvider; _slowingRate = slowingRate; _duration = duration; }