mirror of
https://github.com/ppy/osu.git
synced 2025-02-15 14:42:56 +08:00
Check for type conversion, mais the update recursive
This commit is contained in:
parent
a17200a66a
commit
347cb0a1b5
@ -44,13 +44,24 @@ namespace osu.Game.Beatmaps
|
|||||||
|
|
||||||
public virtual void PostProcess()
|
public virtual void PostProcess()
|
||||||
{
|
{
|
||||||
|
void UpdateNestedCombo(Rulesets.Objects.HitObject obj, int comboIndex, int indexInCurrentCombo)
|
||||||
|
{
|
||||||
|
if (obj is IHasComboInformation)
|
||||||
|
{
|
||||||
|
var objectComboInfo = (IHasComboInformation)obj;
|
||||||
|
objectComboInfo.ComboIndex = comboIndex;
|
||||||
|
objectComboInfo.IndexInCurrentCombo = indexInCurrentCombo;
|
||||||
|
foreach (var nestedObjet in obj.NestedHitObjects)
|
||||||
|
UpdateNestedCombo(nestedObjet, comboIndex, indexInCurrentCombo);
|
||||||
|
}
|
||||||
|
}
|
||||||
foreach (var hitObject in Beatmap.HitObjects)
|
foreach (var hitObject in Beatmap.HitObjects)
|
||||||
{
|
{
|
||||||
var objectComboInfo = (IHasComboInformation)hitObject;
|
if (hitObject is IHasComboInformation)
|
||||||
foreach (var obj in hitObject.NestedHitObjects.OfType<IHasComboInformation>())
|
|
||||||
{
|
{
|
||||||
obj.IndexInCurrentCombo = objectComboInfo.IndexInCurrentCombo;
|
var objectComboInfo = (IHasComboInformation)hitObject;
|
||||||
obj.ComboIndex = objectComboInfo.ComboIndex;
|
foreach (var nested in hitObject.NestedHitObjects)
|
||||||
|
UpdateNestedCombo(nested, objectComboInfo.ComboIndex, objectComboInfo.IndexInCurrentCombo);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user