Make hitobjects only have one judgement + result

This commit is contained in:
smoogipoo
2018-08-03 15:38:48 +09:00
parent 0da6c8c1a7
commit 2a4994e5ce
29 changed files with 66 additions and 110 deletions

View File

@ -3,7 +3,6 @@
using System;
using System.Collections.Generic;
using System.Linq;
using Newtonsoft.Json;
using osu.Framework.Extensions.IEnumerableExtensions;
using osu.Framework.Lists;
@ -64,8 +63,7 @@ namespace osu.Game.Rulesets.Objects
[JsonIgnore]
public IReadOnlyList<HitObject> NestedHitObjects => nestedHitObjects.Value;
private readonly List<Judgement> judgements = new List<Judgement>();
public IReadOnlyList<Judgement> Judgements => judgements;
public Judgement Judgement { get; private set; }
/// <summary>
/// Applies default values to this HitObject.
@ -76,8 +74,7 @@ namespace osu.Game.Rulesets.Objects
{
ApplyDefaultsToSelf(controlPointInfo, difficulty);
judgements.Clear();
judgements.AddRange(CreateJudgements());
Judgement = CreateJudgement();
if (nestedHitObjects.IsValueCreated)
nestedHitObjects.Value.Clear();
@ -111,7 +108,7 @@ namespace osu.Game.Rulesets.Objects
{
}
protected virtual IEnumerable<Judgement> CreateJudgements() => Enumerable.Empty<Judgement>();
protected virtual Judgement CreateJudgement() => null;
protected void AddNested(HitObject hitObject) => nestedHitObjects.Value.Add(hitObject);