Ability to contain multiple sample banks. Get default bank name from control point.

This commit is contained in:
smoogipooo
2017-04-05 21:59:07 +09:00
parent 8d720e39c6
commit d607207b69
11 changed files with 46 additions and 28 deletions

View File

@ -57,9 +57,9 @@ namespace osu.Game.Modes.Taiko.Beatmaps
var endTimeData = obj as IHasEndTime;
// Old osu! used hit sounding to determine various hit type information
SampleBank sampleBank = obj.SampleBank;
List<SampleBank> sampleBanks = obj.SampleBanks;
bool strong = sampleBank.Sets.Any(s => s.Type == SampleType.Finish);
bool strong = sampleBanks.Any(b => b.Samples.Any(s => s.Type == SampleType.Finish));
if (distanceData != null)
{
@ -98,7 +98,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
yield return new CentreHit
{
StartTime = j,
SampleBank = obj.SampleBank,
SampleBanks = obj.SampleBanks,
IsStrong = strong,
VelocityMultiplier = legacy_velocity_multiplier
};
@ -109,7 +109,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
yield return new DrumRoll
{
StartTime = obj.StartTime,
SampleBank = obj.SampleBank,
SampleBanks = obj.SampleBanks,
IsStrong = strong,
Distance = distance,
TickRate = beatmap.BeatmapInfo.Difficulty.SliderTickRate == 3 ? 3 : 4,
@ -124,7 +124,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
yield return new Swell
{
StartTime = obj.StartTime,
SampleBank = obj.SampleBank,
SampleBanks = obj.SampleBanks,
IsStrong = strong,
EndTime = endTimeData.EndTime,
RequiredHits = (int)Math.Max(1, endTimeData.Duration / 1000 * hitMultiplier),
@ -133,14 +133,14 @@ namespace osu.Game.Modes.Taiko.Beatmaps
}
else
{
bool isCentre = sampleBank.Sets.Any(s => s.Type == SampleType.Normal);
bool isCentre = sampleBanks.Any(b => b.Samples.Any(s => s.Type == SampleType.Normal));
if (isCentre)
{
yield return new CentreHit
{
StartTime = obj.StartTime,
SampleBank = obj.SampleBank,
SampleBanks = obj.SampleBanks,
IsStrong = strong,
VelocityMultiplier = legacy_velocity_multiplier
};
@ -150,7 +150,7 @@ namespace osu.Game.Modes.Taiko.Beatmaps
yield return new RimHit
{
StartTime = obj.StartTime,
SampleBank = obj.SampleBank,
SampleBanks = obj.SampleBanks,
IsStrong = strong,
VelocityMultiplier = legacy_velocity_multiplier
};