Example #1
0
        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;
        }
Example #3
0
        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;
        }