示例#1
0
文件: Slider.cs 项目: zenithlight/osu
        public override void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            base.ApplyDefaults(timing, difficulty);

            ControlPoint overridePoint;
            ControlPoint timingPoint        = timing.TimingPointAt(StartTime, out overridePoint);
            var          velocityAdjustment = overridePoint?.VelocityAdjustment ?? 1;
            var          baseVelocity       = 100 * difficulty.SliderMultiplier / velocityAdjustment;

            Velocity     = baseVelocity / timingPoint.BeatLength;
            TickDistance = baseVelocity / difficulty.SliderTickRate;
        }
示例#2
0
        public override void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            base.ApplyDefaults(timing, difficulty);

            PreEmpt = 600 / (timing.SliderVelocityAt(StartTime) * difficulty.SliderMultiplier) * 1000;

            ControlPoint overridePoint;

            Kiai = timing.TimingPointAt(StartTime, out overridePoint).KiaiMode;

            if (overridePoint != null)
            {
                Kiai |= overridePoint.KiaiMode;
            }
        }
示例#3
0
        public override void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            base.ApplyDefaults(timing, difficulty);

            ScrollTime = scroll_time * (timing.BeatLengthAt(StartTime) * timing.SpeedMultiplierAt(StartTime) / 1000) / difficulty.SliderMultiplier;

            ControlPoint overridePoint;

            Kiai = timing.TimingPointAt(StartTime, out overridePoint).KiaiMode;

            if (overridePoint != null)
            {
                Kiai |= overridePoint.KiaiMode;
            }
        }
示例#4
0
        /// <summary>
        /// Applies default values to this HitObject.
        /// </summary>
        /// <param name="difficulty">The difficulty settings to use.</param>
        /// <param name="timing">The timing settings to use.</param>
        public virtual void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            ControlPoint overridePoint;
            ControlPoint timingPoint = timing.TimingPointAt(StartTime, out overridePoint);

            ControlPoint samplePoint = overridePoint ?? timingPoint;

            // Initialize first sample
            Samples.ForEach(s => initializeSampleInfo(s, samplePoint));

            // Initialize any repeat samples
            var repeatData = this as IHasRepeats;

            repeatData?.RepeatSamples?.ForEach(r => r.ForEach(s => initializeSampleInfo(s, samplePoint)));
        }
示例#5
0
        public override void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            base.ApplyDefaults(timing, difficulty);

            PreEmpt = 600 / (timing.SliderVelocityAt(StartTime) * difficulty.SliderMultiplier) * 1000;

            ControlPoint overridePoint;

            Kiai = timing.TimingPointAt(StartTime, out overridePoint).KiaiMode;

            if (overridePoint != null)
            {
                Kiai |= overridePoint.KiaiMode;
            }

            HitWindowGreat = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 50, 35, 20);
            HitWindowGood  = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 120, 80, 50);
            HitWindowMiss  = BeatmapDifficulty.DifficultyRange(difficulty.OverallDifficulty, 135, 95, 70);
        }
示例#6
0
        /// <summary>
        /// Applies default values to this HitObject.
        /// </summary>
        /// <param name="difficulty">The difficulty settings to use.</param>
        /// <param name="timing">The timing settings to use.</param>
        public virtual void ApplyDefaults(TimingInfo timing, BeatmapDifficulty difficulty)
        {
            ControlPoint overridePoint;
            ControlPoint timingPoint = timing.TimingPointAt(StartTime, out overridePoint);

            foreach (var sample in Samples)
            {
                if (sample.Volume == 0)
                {
                    sample.Volume = (overridePoint ?? timingPoint)?.SampleVolume ?? 0;
                }

                // If the bank is not assigned a name, assign it from the control point
                if (!string.IsNullOrEmpty(sample.Bank))
                {
                    continue;
                }

                sample.Bank = (overridePoint ?? timingPoint)?.SampleBank ?? @"normal";
            }
        }