mirror of
https://github.com/ppy/osu.git
synced 2024-11-15 16:27:43 +08:00
fix updating wrong samples
This commit is contained in:
parent
cb7b747d52
commit
32f945d304
@ -32,7 +32,7 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
|
||||
return NodeIndex < hasRepeats.NodeSamples.Count ? hasRepeats.NodeSamples[NodeIndex] : HitObject.Samples;
|
||||
}
|
||||
|
||||
public override Popover GetPopover() => new NodeSampleEditPopover(HitObject);
|
||||
public override Popover GetPopover() => new NodeSampleEditPopover(HitObject, NodeIndex);
|
||||
|
||||
public partial class NodeSampleEditPopover : SampleEditPopover
|
||||
{
|
||||
@ -44,7 +44,7 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
|
||||
return nodeIndex < hasRepeats.NodeSamples.Count ? hasRepeats.NodeSamples[nodeIndex] : ho.Samples;
|
||||
}
|
||||
|
||||
public NodeSampleEditPopover(HitObject hitObject, int nodeIndex = 0)
|
||||
public NodeSampleEditPopover(HitObject hitObject, int nodeIndex)
|
||||
: base(hitObject)
|
||||
{
|
||||
this.nodeIndex = nodeIndex;
|
||||
|
@ -158,9 +158,11 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
|
||||
|
||||
foreach (var h in objects)
|
||||
{
|
||||
for (int i = 0; i < h.Samples.Count; i++)
|
||||
var samples = GetSamples(h);
|
||||
|
||||
for (int i = 0; i < samples.Count; i++)
|
||||
{
|
||||
h.Samples[i] = h.Samples[i].With(newBank: newBank);
|
||||
samples[i] = samples[i].With(newBank: newBank);
|
||||
}
|
||||
|
||||
beatmap.Update(h);
|
||||
@ -171,7 +173,7 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
|
||||
|
||||
private void updateBankPlaceholderText(IEnumerable<HitObject> objects)
|
||||
{
|
||||
string? commonBank = getCommonBank(objects.Select(h => h.Samples).ToArray());
|
||||
string? commonBank = getCommonBank(objects.Select(GetSamples).ToArray());
|
||||
bank.PlaceholderText = string.IsNullOrEmpty(commonBank) ? "(multiple)" : string.Empty;
|
||||
}
|
||||
|
||||
@ -184,9 +186,11 @@ namespace osu.Game.Screens.Edit.Compose.Components.Timeline
|
||||
|
||||
foreach (var h in objects)
|
||||
{
|
||||
for (int i = 0; i < h.Samples.Count; i++)
|
||||
var samples = GetSamples(h);
|
||||
|
||||
for (int i = 0; i < samples.Count; i++)
|
||||
{
|
||||
h.Samples[i] = h.Samples[i].With(newVolume: newVolume.Value);
|
||||
samples[i] = samples[i].With(newVolume: newVolume.Value);
|
||||
}
|
||||
|
||||
beatmap.Update(h);
|
||||
|
Loading…
Reference in New Issue
Block a user