Merge branch 'master' into delete-selection

This commit is contained in:
Dean Herbert
2019-11-12 17:59:43 +09:00
committed by GitHub
171 changed files with 2296 additions and 3034 deletions

View File

@ -218,12 +218,17 @@ namespace osu.Game.Screens.Edit.Compose.Components
}
AddInternal(marker = new Marker());
}
CurrentNumber.ValueChanged += div =>
protected override void LoadComplete()
{
base.LoadComplete();
CurrentNumber.BindValueChanged(div =>
{
marker.MoveToX(getMappedPosition(div.NewValue), 100, Easing.OutQuint);
marker.Flash();
};
}, true);
}
protected override void UpdateValue(float value)

View File

@ -226,7 +226,7 @@ namespace osu.Game.Screens.Edit.Compose.Components
{
get
{
if (!SelectedBlueprints.Any())
if (!selectedBlueprints.Any(b => b.IsHovered))
return Array.Empty<MenuItem>();
return new MenuItem[]
@ -247,36 +247,36 @@ namespace osu.Game.Screens.Edit.Compose.Components
private MenuItem createHitSampleMenuItem(string name, string sampleName)
{
return new ThreeStateMenuItem(name, MenuItemType.Standard, setHitSampleState)
return new TernaryStateMenuItem(name, MenuItemType.Standard, setHitSampleState)
{
State = { Value = getHitSampleState() }
};
void setHitSampleState(ThreeStates state)
void setHitSampleState(TernaryState state)
{
switch (state)
{
case ThreeStates.Disabled:
case TernaryState.False:
RemoveHitSample(sampleName);
break;
case ThreeStates.Enabled:
case TernaryState.True:
AddHitSample(sampleName);
break;
}
}
ThreeStates getHitSampleState()
TernaryState getHitSampleState()
{
int countExisting = SelectedHitObjects.Count(h => h.Samples.Any(s => s.Name == sampleName));
if (countExisting == 0)
return ThreeStates.Disabled;
return TernaryState.False;
if (countExisting < SelectedHitObjects.Count())
return ThreeStates.Indeterminate;
return TernaryState.Indeterminate;
return ThreeStates.Enabled;
return TernaryState.True;
}
}