mirror of
https://github.com/ppy/osu.git
synced 2025-03-05 20:32:56 +08:00
Fix bank potentially being overwritten during placement
This commit is contained in:
parent
372a655be1
commit
b9f41611a7
@ -74,9 +74,13 @@ namespace osu.Game.Rulesets.Edit
|
|||||||
/// <param name="commitStart">Whether this call is committing a value for HitObject.StartTime and continuing with further adjustments.</param>
|
/// <param name="commitStart">Whether this call is committing a value for HitObject.StartTime and continuing with further adjustments.</param>
|
||||||
protected void BeginPlacement(bool commitStart = false)
|
protected void BeginPlacement(bool commitStart = false)
|
||||||
{
|
{
|
||||||
|
// Store and copy the bank, since it is managed by the editor UI.
|
||||||
|
string bank = HitObject.SampleControlPoint.SampleBank;
|
||||||
|
|
||||||
var nearestSampleControlPoint = beatmap.HitObjects.LastOrDefault(h => h.GetEndTime() < HitObject.StartTime)?.SampleControlPoint?.DeepClone() as SampleControlPoint;
|
var nearestSampleControlPoint = beatmap.HitObjects.LastOrDefault(h => h.GetEndTime() < HitObject.StartTime)?.SampleControlPoint?.DeepClone() as SampleControlPoint;
|
||||||
|
|
||||||
HitObject.SampleControlPoint = nearestSampleControlPoint ?? new SampleControlPoint();
|
HitObject.SampleControlPoint = nearestSampleControlPoint ?? new SampleControlPoint();
|
||||||
|
HitObject.SampleControlPoint.SampleBank = bank;
|
||||||
|
|
||||||
placementHandler.BeginPlacement(HitObject);
|
placementHandler.BeginPlacement(HitObject);
|
||||||
if (commitStart)
|
if (commitStart)
|
||||||
|
Loading…
Reference in New Issue
Block a user