mirror of
https://github.com/osukey/osukey.git
synced 2025-06-07 20:37:57 +09:00
Remove GetDrawableRepresentation() override, add null hinting
This commit is contained in:
parent
d7d77460fb
commit
f652eb9982
@ -314,9 +314,6 @@ namespace osu.Game.Rulesets.UI
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public sealed override DrawableHitObject GetDrawableRepresentation(HitObject hitObject)
|
|
||||||
=> base.GetDrawableRepresentation(hitObject) ?? CreateDrawableRepresentation((TObject)hitObject);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Creates a DrawableHitObject from a HitObject.
|
/// Creates a DrawableHitObject from a HitObject.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@ -552,7 +549,7 @@ namespace osu.Game.Rulesets.UI
|
|||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Registers a <see cref="DrawableHitObject"/> pool with this <see cref="DrawableRuleset"/> which is to be used whenever
|
/// Registers a <see cref="DrawableHitObject"/> pool with this <see cref="DrawableRuleset"/> which is to be used whenever
|
||||||
/// <see cref="DrawableHitObject"/> representations are requested for the given <typeparamref name="TObject"/> type (via <see cref="GetDrawableRepresentation"/>).
|
/// <see cref="DrawableHitObject"/> representations are requested for the given <typeparamref name="TObject"/> type (via <see cref="GetPooledDrawableRepresentation"/>).
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="initialSize">The number of drawables to be prepared for initial consumption.</param>
|
/// <param name="initialSize">The number of drawables to be prepared for initial consumption.</param>
|
||||||
/// <param name="maximumSize">An optional maximum size after which the pool will no longer be expanded.</param>
|
/// <param name="maximumSize">An optional maximum size after which the pool will no longer be expanded.</param>
|
||||||
@ -574,16 +571,18 @@ namespace osu.Game.Rulesets.UI
|
|||||||
/// <param name="maximumSize">An optional maximum size after which the pool will no longer be expanded.</param>
|
/// <param name="maximumSize">An optional maximum size after which the pool will no longer be expanded.</param>
|
||||||
/// <typeparam name="TDrawable">The type of <see cref="DrawableHitObject"/> retrievable from this pool.</typeparam>
|
/// <typeparam name="TDrawable">The type of <see cref="DrawableHitObject"/> retrievable from this pool.</typeparam>
|
||||||
/// <returns>The <see cref="DrawablePool{T}"/>.</returns>
|
/// <returns>The <see cref="DrawablePool{T}"/>.</returns>
|
||||||
|
[NotNull]
|
||||||
protected virtual DrawablePool<TDrawable> CreatePool<TDrawable>(int initialSize, int? maximumSize = null)
|
protected virtual DrawablePool<TDrawable> CreatePool<TDrawable>(int initialSize, int? maximumSize = null)
|
||||||
where TDrawable : DrawableHitObject, new()
|
where TDrawable : DrawableHitObject, new()
|
||||||
=> new DrawablePool<TDrawable>(initialSize, maximumSize);
|
=> new DrawablePool<TDrawable>(initialSize, maximumSize);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves the drawable representation of a <see cref="HitObject"/>.
|
/// Attempts to retrieve the poolable <see cref="DrawableHitObject"/> representation of a <see cref="HitObject"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hitObject">The <see cref="HitObject"/> to retrieve the drawable representation of.</param>
|
/// <param name="hitObject">The <see cref="HitObject"/> to retrieve the <see cref="DrawableHitObject"/> representation of.</param>
|
||||||
/// <returns>The <see cref="DrawableHitObject"/> representing <see cref="HitObject"/>.</returns>
|
/// <returns>The <see cref="DrawableHitObject"/> representing <see cref="HitObject"/>, or <c>null</c> if no poolable representation exists.</returns>
|
||||||
public virtual DrawableHitObject GetDrawableRepresentation(HitObject hitObject)
|
[CanBeNull]
|
||||||
|
public DrawableHitObject GetPooledDrawableRepresentation([NotNull] HitObject hitObject)
|
||||||
{
|
{
|
||||||
if (!pools.TryGetValue(hitObject.GetType(), out var pool))
|
if (!pools.TryGetValue(hitObject.GetType(), out var pool))
|
||||||
return null;
|
return null;
|
||||||
@ -612,14 +611,16 @@ namespace osu.Game.Rulesets.UI
|
|||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <param name="hitObject">The <see cref="HitObject"/> to create the entry for.</param>
|
/// <param name="hitObject">The <see cref="HitObject"/> to create the entry for.</param>
|
||||||
/// <returns>The <see cref="HitObjectLifetimeEntry"/>.</returns>
|
/// <returns>The <see cref="HitObjectLifetimeEntry"/>.</returns>
|
||||||
protected abstract HitObjectLifetimeEntry CreateLifetimeEntry(HitObject hitObject);
|
[NotNull]
|
||||||
|
protected abstract HitObjectLifetimeEntry CreateLifetimeEntry([NotNull] HitObject hitObject);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Retrieves or creates the <see cref="HitObjectLifetimeEntry"/> for a given <see cref="HitObject"/>.
|
/// Retrieves or creates the <see cref="HitObjectLifetimeEntry"/> for a given <see cref="HitObject"/>.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="hitObject">The <see cref="HitObject"/> to retrieve or create the <see cref="HitObjectLifetimeEntry"/> for.</param>
|
/// <param name="hitObject">The <see cref="HitObject"/> to retrieve or create the <see cref="HitObjectLifetimeEntry"/> for.</param>
|
||||||
/// <returns>The <see cref="HitObjectLifetimeEntry"/> for <paramref name="hitObject"/>.</returns>
|
/// <returns>The <see cref="HitObjectLifetimeEntry"/> for <paramref name="hitObject"/>.</returns>
|
||||||
protected HitObjectLifetimeEntry GetLifetimeEntry(HitObject hitObject)
|
[NotNull]
|
||||||
|
protected HitObjectLifetimeEntry GetLifetimeEntry([NotNull] HitObject hitObject)
|
||||||
{
|
{
|
||||||
if (lifetimeEntries.TryGetValue(hitObject, out var entry))
|
if (lifetimeEntries.TryGetValue(hitObject, out var entry))
|
||||||
return entry;
|
return entry;
|
||||||
|
@ -70,7 +70,7 @@ namespace osu.Game.Rulesets.UI
|
|||||||
{
|
{
|
||||||
Debug.Assert(!drawableMap.ContainsKey(entry));
|
Debug.Assert(!drawableMap.ContainsKey(entry));
|
||||||
|
|
||||||
var drawable = drawableRuleset.GetDrawableRepresentation(entry.HitObject);
|
var drawable = drawableRuleset.GetPooledDrawableRepresentation(entry.HitObject);
|
||||||
drawable.OnNewResult += onNewResult;
|
drawable.OnNewResult += onNewResult;
|
||||||
drawable.OnRevertResult += onRevertResult;
|
drawable.OnRevertResult += onRevertResult;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user