Пример #1
0
        internal override void PlaySound()
        {
            ControlPoint p   = hitObjectManager.Beatmap.ControlPointAt(StartTime + 5);
            int          vol = SampleVolume != 0 ? SampleVolume : p.Volume;

            HitObjectManager.OnHitSound(new HitSoundInfo(SoundType, p.SampleSet, p.CustomSamples, vol));

            if (SoundType.IsType(HitObjectSoundType.Finish))
            {
                AudioEngine.PlayHitSamples(new HitSoundInfo(CorrectButtonIsLeft ? HitObjectSoundType.Finish : HitObjectSoundType.Whistle, p.SampleSet, p.CustomSamples, vol), PositionalSound, true);
            }
        }
Пример #2
0
        internal void PlaySound(ControlPoint controlPoint, HitObjectSoundType soundType, SampleSet sampleSet, SampleSet sampleSetAdditions)
        {
            SampleSet       ss  = sampleSet == Audio.SampleSet.None ? controlPoint.SampleSet : sampleSet;
            CustomSampleSet css = CustomSampleSet == CustomSampleSet.Default ? controlPoint.CustomSamples : CustomSampleSet;
            int             vol = SampleVolume != 0 ? SampleVolume : controlPoint.Volume;

            HitSoundInfo hitSoundInfo = HitSoundInfo.GetLayered(soundType, ss, css, vol, ss == Audio.SampleSet.None ? ss : sampleSetAdditions);

            HitObjectManager.OnHitSound(hitSoundInfo);

            if (SampleAddr != -1)
            {
                AudioEngine.PlaySample(SampleAddr, vol, PositionalSound, true);
            }
            else
            {
                AudioEngine.PlayHitSamples(hitSoundInfo, PositionalSound, true);
            }
        }