mirror of
https://github.com/osukey/osukey.git
synced 2025-08-06 16:13:57 +09:00
Add common path for duplicated code
This commit is contained in:
@ -154,11 +154,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
|
|||||||
{
|
{
|
||||||
var drawableNested = CreateNestedHitObject(h) ?? throw new InvalidOperationException($"{nameof(CreateNestedHitObject)} returned null for {h.GetType().ReadableName()}.");
|
var drawableNested = CreateNestedHitObject(h) ?? throw new InvalidOperationException($"{nameof(CreateNestedHitObject)} returned null for {h.GetType().ReadableName()}.");
|
||||||
|
|
||||||
drawableNested.OnNewResult += (d, r) => OnNewResult?.Invoke(d, r);
|
addNested(drawableNested);
|
||||||
drawableNested.OnRevertResult += (d, r) => OnRevertResult?.Invoke(d, r);
|
|
||||||
drawableNested.ApplyCustomUpdateState += (d, j) => ApplyCustomUpdateState?.Invoke(d, j);
|
|
||||||
|
|
||||||
nestedHitObjects.Value.Add(drawableNested);
|
|
||||||
AddNestedHitObject(drawableNested);
|
AddNestedHitObject(drawableNested);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -176,14 +172,7 @@ namespace osu.Game.Rulesets.Objects.Drawables
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="h"></param>
|
/// <param name="h"></param>
|
||||||
[Obsolete("Use AddNestedHitObject() / ClearNestedHitObjects() / CreateNestedHitObject() instead.")] // can be removed 20200417
|
[Obsolete("Use AddNestedHitObject() / ClearNestedHitObjects() / CreateNestedHitObject() instead.")] // can be removed 20200417
|
||||||
protected virtual void AddNested(DrawableHitObject h)
|
protected virtual void AddNested(DrawableHitObject h) => addNested(h);
|
||||||
{
|
|
||||||
h.OnNewResult += (d, r) => OnNewResult?.Invoke(d, r);
|
|
||||||
h.OnRevertResult += (d, r) => OnRevertResult?.Invoke(d, r);
|
|
||||||
h.ApplyCustomUpdateState += (d, j) => ApplyCustomUpdateState?.Invoke(d, j);
|
|
||||||
|
|
||||||
nestedHitObjects.Value.Add(h);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Invoked by the base <see cref="DrawableHitObject"/> to remove all previously-added nested <see cref="DrawableHitObject"/>s.
|
/// Invoked by the base <see cref="DrawableHitObject"/> to remove all previously-added nested <see cref="DrawableHitObject"/>s.
|
||||||
@ -199,6 +188,17 @@ namespace osu.Game.Rulesets.Objects.Drawables
|
|||||||
/// <returns>The drawable representation for <paramref name="hitObject"/>.</returns>
|
/// <returns>The drawable representation for <paramref name="hitObject"/>.</returns>
|
||||||
protected virtual DrawableHitObject CreateNestedHitObject(HitObject hitObject) => null;
|
protected virtual DrawableHitObject CreateNestedHitObject(HitObject hitObject) => null;
|
||||||
|
|
||||||
|
private void addNested(DrawableHitObject hitObject)
|
||||||
|
{
|
||||||
|
// Todo: Exists for legacy purposes, can be removed 20200417
|
||||||
|
|
||||||
|
hitObject.OnNewResult += (d, r) => OnNewResult?.Invoke(d, r);
|
||||||
|
hitObject.OnRevertResult += (d, r) => OnRevertResult?.Invoke(d, r);
|
||||||
|
hitObject.ApplyCustomUpdateState += (d, j) => ApplyCustomUpdateState?.Invoke(d, j);
|
||||||
|
|
||||||
|
nestedHitObjects.Value.Add(hitObject);
|
||||||
|
}
|
||||||
|
|
||||||
#region State / Transform Management
|
#region State / Transform Management
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
Reference in New Issue
Block a user