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