mirror of
https://github.com/ppy/osu.git
synced 2025-01-18 05:42:56 +08:00
Adjust animations a bit
Removed autosize duration stuff because it looks weird when the list is shown from scratch where users are already fully populated in it.
This commit is contained in:
parent
32906aefde
commit
e47244989a
@ -51,8 +51,6 @@ namespace osu.Game.Screens.Play.HUD
|
||||
mainFlow = new FillFlowContainer
|
||||
{
|
||||
AutoSizeAxes = Axes.Both,
|
||||
AutoSizeDuration = 250,
|
||||
AutoSizeEasing = Easing.OutQuint,
|
||||
Direction = FillDirection.Vertical,
|
||||
Children = new Drawable[]
|
||||
{
|
||||
@ -84,6 +82,8 @@ namespace osu.Game.Screens.Play.HUD
|
||||
Font.BindValueChanged(_ => updateAppearance());
|
||||
HeaderColour.BindValueChanged(_ => updateAppearance(), true);
|
||||
FinishTransforms(true);
|
||||
|
||||
this.FadeInFromZero(200, Easing.OutQuint);
|
||||
}
|
||||
|
||||
private void onSpectatorsChanged(object? sender, NotifyCollectionChangedEventArgs e)
|
||||
@ -100,11 +100,7 @@ namespace osu.Game.Screens.Play.HUD
|
||||
if (index >= max_spectators_displayed)
|
||||
break;
|
||||
|
||||
spectatorsFlow.Insert(e.NewStartingIndex + i, pool.Get(entry =>
|
||||
{
|
||||
entry.Current.Value = spectator;
|
||||
entry.UserPlayingState = UserPlayingState;
|
||||
}));
|
||||
addNewSpectatorToList(index, spectator);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -120,14 +116,7 @@ namespace osu.Game.Screens.Play.HUD
|
||||
if (Spectators.Count >= max_spectators_displayed && spectatorsFlow.Count < max_spectators_displayed)
|
||||
{
|
||||
for (int i = spectatorsFlow.Count; i < max_spectators_displayed; i++)
|
||||
{
|
||||
var spectator = Spectators[i];
|
||||
spectatorsFlow.Insert(i, pool.Get(entry =>
|
||||
{
|
||||
entry.Current.Value = spectator;
|
||||
entry.UserPlayingState = UserPlayingState;
|
||||
}));
|
||||
}
|
||||
addNewSpectatorToList(i, Spectators[i]);
|
||||
}
|
||||
|
||||
break;
|
||||
@ -154,6 +143,17 @@ namespace osu.Game.Screens.Play.HUD
|
||||
}
|
||||
}
|
||||
|
||||
private void addNewSpectatorToList(int i, Spectator spectator)
|
||||
{
|
||||
var entry = pool.Get(entry =>
|
||||
{
|
||||
entry.Current.Value = spectator;
|
||||
entry.UserPlayingState = UserPlayingState;
|
||||
});
|
||||
|
||||
spectatorsFlow.Insert(i, entry);
|
||||
}
|
||||
|
||||
private void updateVisibility()
|
||||
{
|
||||
mainFlow.FadeTo(Spectators.Count > 0 && UserPlayingState.Value != LocalUserPlayingState.NotPlaying ? 1 : 0, 250, Easing.OutQuint);
|
||||
@ -203,6 +203,17 @@ namespace osu.Game.Screens.Play.HUD
|
||||
Current.BindValueChanged(_ => updateState(), true);
|
||||
}
|
||||
|
||||
protected override void PrepareForUse()
|
||||
{
|
||||
base.PrepareForUse();
|
||||
|
||||
username.MoveToX(10)
|
||||
.Then()
|
||||
.MoveToX(0, 400, Easing.OutQuint);
|
||||
|
||||
this.FadeInFromZero(400, Easing.OutQuint);
|
||||
}
|
||||
|
||||
private void updateState()
|
||||
{
|
||||
username.Text = Current.Value.Username;
|
||||
|
Loading…
Reference in New Issue
Block a user