Make Playfield.HitObjects internal to playfields.

Because not all playfields will be using this.
This commit is contained in:
smoogipooo 2017-05-11 14:43:57 +09:00
parent ab58acad81
commit 6445bea864
2 changed files with 9 additions and 4 deletions

View File

@ -187,17 +187,19 @@ namespace osu.Game.Rulesets.UI
public sealed override bool ProvidingUserCursor => !HasReplayLoaded && Playfield.ProvidingUserCursor; public sealed override bool ProvidingUserCursor => !HasReplayLoaded && Playfield.ProvidingUserCursor;
protected override Container<Drawable> Content => content; public override IEnumerable<HitObject> Objects => Beatmap.HitObjects;
protected override bool AllObjectsJudged => Playfield.HitObjects.Children.All(h => h.Judgement.Result != HitResult.None);
protected override bool AllObjectsJudged => drawableObjects.All(h => h.Judgement.Result != HitResult.None);
/// <summary> /// <summary>
/// The playfield. /// The playfield.
/// </summary> /// </summary>
protected Playfield<TObject, TJudgement> Playfield; protected Playfield<TObject, TJudgement> Playfield;
protected override Container<Drawable> Content => content;
private readonly Container content; private readonly Container content;
public override IEnumerable<HitObject> Objects => Beatmap.HitObjects; private List<DrawableHitObject<TObject, TJudgement>> drawableObjects;
protected HitRenderer(WorkingBeatmap beatmap) protected HitRenderer(WorkingBeatmap beatmap)
: base(beatmap) : base(beatmap)
@ -224,6 +226,8 @@ namespace osu.Game.Rulesets.UI
private void loadObjects() private void loadObjects()
{ {
drawableObjects = new List<DrawableHitObject<TObject, TJudgement>>(Beatmap.HitObjects.Count);
foreach (TObject h in Beatmap.HitObjects) foreach (TObject h in Beatmap.HitObjects)
{ {
var drawableObject = GetVisualRepresentation(h); var drawableObject = GetVisualRepresentation(h);
@ -233,6 +237,7 @@ namespace osu.Game.Rulesets.UI
drawableObject.OnJudgement += onJudgement; drawableObject.OnJudgement += onJudgement;
drawableObjects.Add(drawableObject);
Playfield.Add(drawableObject); Playfield.Add(drawableObject);
} }

View File

@ -19,7 +19,7 @@ namespace osu.Game.Rulesets.UI
/// <summary> /// <summary>
/// The HitObjects contained in this Playfield. /// The HitObjects contained in this Playfield.
/// </summary> /// </summary>
public HitObjectContainer<DrawableHitObject<TObject, TJudgement>> HitObjects; protected HitObjectContainer<DrawableHitObject<TObject, TJudgement>> HitObjects;
internal Container<Drawable> ScaledContent; internal Container<Drawable> ScaledContent;