mirror of
https://github.com/ppy/osu.git
synced 2025-01-27 13:23:05 +08:00
Remove some unnecessary implementations for now
This commit is contained in:
parent
d7bee80d4e
commit
7d02018134
@ -41,32 +41,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event Action<DrawableHitObject, JudgementResult> RevertResult;
|
public event Action<DrawableHitObject, JudgementResult> RevertResult;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoked when a <see cref="HitObject"/> becomes used by a <see cref="DrawableHitObject"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// If this <see cref="HitObjectContainer"/> uses pooled objects, this represents the time when the <see cref="HitObject"/>s become alive.
|
|
||||||
/// </remarks>
|
|
||||||
public event Action<HitObject> HitObjectUsageBegan;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoked when a <see cref="HitObject"/> becomes unused by a <see cref="DrawableHitObject"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// If this <see cref="HitObjectContainer"/> uses pooled objects, this represents the time when the <see cref="HitObject"/>s become dead.
|
|
||||||
/// </remarks>
|
|
||||||
public event Action<HitObject> HitObjectUsageFinished;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The amount of time prior to the current time within which <see cref="HitObject"/>s should be considered alive.
|
|
||||||
/// </summary>
|
|
||||||
public double PastLifetimeExtension { get; set; }
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// The amount of time after the current time within which <see cref="HitObject"/>s should be considered alive.
|
|
||||||
/// </summary>
|
|
||||||
public double FutureLifetimeExtension { get; set; }
|
|
||||||
|
|
||||||
private readonly Dictionary<DrawableHitObject, IBindable> startTimeMap = new Dictionary<DrawableHitObject, IBindable>();
|
private readonly Dictionary<DrawableHitObject, IBindable> startTimeMap = new Dictionary<DrawableHitObject, IBindable>();
|
||||||
private readonly Dictionary<HitObjectLifetimeEntry, DrawableHitObject> drawableMap = new Dictionary<HitObjectLifetimeEntry, DrawableHitObject>();
|
private readonly Dictionary<HitObjectLifetimeEntry, DrawableHitObject> drawableMap = new Dictionary<HitObjectLifetimeEntry, DrawableHitObject>();
|
||||||
private readonly LifetimeEntryManager lifetimeManager = new LifetimeEntryManager();
|
private readonly LifetimeEntryManager lifetimeManager = new LifetimeEntryManager();
|
||||||
@ -102,8 +76,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
bindStartTime(drawable);
|
bindStartTime(drawable);
|
||||||
AddInternal(drawableMap[entry] = drawable, false);
|
AddInternal(drawableMap[entry] = drawable, false);
|
||||||
|
|
||||||
HitObjectUsageBegan?.Invoke(entry.HitObject);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeDrawable(HitObjectLifetimeEntry entry)
|
private void removeDrawable(HitObjectLifetimeEntry entry)
|
||||||
@ -119,8 +91,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
unbindStartTime(drawable);
|
unbindStartTime(drawable);
|
||||||
RemoveInternal(drawable);
|
RemoveInternal(drawable);
|
||||||
|
|
||||||
HitObjectUsageFinished?.Invoke(entry.HitObject);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
@ -173,7 +143,7 @@ namespace osu.Game.Rulesets.UI
|
|||||||
unbindAllStartTimes();
|
unbindAllStartTimes();
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override bool CheckChildrenLife() => base.CheckChildrenLife() | lifetimeManager.Update(Time.Current - PastLifetimeExtension, Time.Current + FutureLifetimeExtension);
|
protected override bool CheckChildrenLife() => base.CheckChildrenLife() | lifetimeManager.Update(Time.Current, Time.Current);
|
||||||
|
|
||||||
private void onNewResult(DrawableHitObject d, JudgementResult r) => NewResult?.Invoke(d, r);
|
private void onNewResult(DrawableHitObject d, JudgementResult r) => NewResult?.Invoke(d, r);
|
||||||
private void onRevertResult(DrawableHitObject d, JudgementResult r) => RevertResult?.Invoke(d, r);
|
private void onRevertResult(DrawableHitObject d, JudgementResult r) => RevertResult?.Invoke(d, r);
|
||||||
|
@ -29,22 +29,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public event Action<DrawableHitObject, JudgementResult> RevertResult;
|
public event Action<DrawableHitObject, JudgementResult> RevertResult;
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoked when a <see cref="HitObject"/> becomes used by a <see cref="DrawableHitObject"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// If this <see cref="HitObjectContainer"/> uses pooled objects, this represents the time when the <see cref="HitObject"/>s become alive.
|
|
||||||
/// </remarks>
|
|
||||||
public event Action<HitObject> HitObjectUsageBegan;
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Invoked when a <see cref="HitObject"/> becomes unused by a <see cref="DrawableHitObject"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// If this <see cref="HitObjectContainer"/> uses pooled objects, this represents the time when the <see cref="HitObject"/>s become dead.
|
|
||||||
/// </remarks>
|
|
||||||
public event Action<HitObject> HitObjectUsageFinished;
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The <see cref="DrawableHitObject"/> contained in this Playfield.
|
/// The <see cref="DrawableHitObject"/> contained in this Playfield.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -104,8 +88,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
{
|
{
|
||||||
h.NewResult += (d, r) => NewResult?.Invoke(d, r);
|
h.NewResult += (d, r) => NewResult?.Invoke(d, r);
|
||||||
h.RevertResult += (d, r) => RevertResult?.Invoke(d, r);
|
h.RevertResult += (d, r) => RevertResult?.Invoke(d, r);
|
||||||
h.HitObjectUsageBegan += o => HitObjectUsageBegan?.Invoke(o);
|
|
||||||
h.HitObjectUsageFinished += o => HitObjectUsageFinished?.Invoke(o);
|
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -198,41 +180,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Sets whether to keep a given <see cref="HitObject"/> always alive within this or any nested <see cref="Playfield"/>.
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="hitObject">The <see cref="HitObject"/> to set.</param>
|
|
||||||
/// <param name="keepAlive">Whether to keep <paramref name="hitObject"/> always alive.</param>
|
|
||||||
public void SetKeepAlive(HitObject hitObject, bool keepAlive)
|
|
||||||
{
|
|
||||||
if (lifetimeEntryMap.TryGetValue(hitObject, out var entry))
|
|
||||||
{
|
|
||||||
entry.KeepAlive = keepAlive;
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!nestedPlayfields.IsValueCreated)
|
|
||||||
return;
|
|
||||||
|
|
||||||
foreach (var p in nestedPlayfields.Value)
|
|
||||||
p.SetKeepAlive(hitObject, keepAlive);
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Keeps all <see cref="HitObject"/>s alive within this and all nested <see cref="Playfield"/>s.
|
|
||||||
/// </summary>
|
|
||||||
public void KeepAllAlive()
|
|
||||||
{
|
|
||||||
foreach (var (_, entry) in lifetimeEntryMap)
|
|
||||||
entry.KeepAlive = true;
|
|
||||||
|
|
||||||
if (!nestedPlayfields.IsValueCreated)
|
|
||||||
return;
|
|
||||||
|
|
||||||
foreach (var p in nestedPlayfields.Value)
|
|
||||||
p.KeepAllAlive();
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The cursor currently being used by this <see cref="Playfield"/>. May be null if no cursor is provided.
|
/// The cursor currently being used by this <see cref="Playfield"/>. May be null if no cursor is provided.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -258,8 +205,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
otherPlayfield.NewResult += (d, r) => NewResult?.Invoke(d, r);
|
otherPlayfield.NewResult += (d, r) => NewResult?.Invoke(d, r);
|
||||||
otherPlayfield.RevertResult += (d, r) => RevertResult?.Invoke(d, r);
|
otherPlayfield.RevertResult += (d, r) => RevertResult?.Invoke(d, r);
|
||||||
otherPlayfield.HitObjectUsageBegan += h => HitObjectUsageBegan?.Invoke(h);
|
|
||||||
otherPlayfield.HitObjectUsageFinished += h => HitObjectUsageFinished?.Invoke(h);
|
|
||||||
|
|
||||||
nestedPlayfields.Value.Add(otherPlayfield);
|
nestedPlayfields.Value.Add(otherPlayfield);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user