Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow changing current star difficulty of a StarRatingDisplay #12747

Merged
merged 9 commits into from
May 15, 2021

Conversation

frenzibyte
Copy link
Member

@frenzibyte frenzibyte commented May 11, 2021

Required for #12717 as the star difficulty is calculated asynchronously and the current rulesets or mods may change after the player loader metadata display has been loaded. (e.g. ReplayPlayerLoader.OnEntering)

As a UX update for StarRatingDisplay now that it can be changed, I've added a simple colour fading on the background, I was also going to add a simple rolling transition between old and new star difficulties, but it appears that the design isn't really compatible with such change (font right-aligned and looks unpleasant with fixed-width on), so I've reverted that.

Comment on lines 125 to 126
if (Current.Value == null)
background.FadeColour(Color4.SlateGray.Opacity(0.3f));
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case of metadata display (which this is intended for), wouldn't it make more sense to fade the rating out entirely than to show a faintly visible 0? That seems kind of confusing from a UX sense. It's data that's not ready to be displayed, so I don't think it should be. It almost looks like a bug.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I was not sure about doing that at first, but now that I re-remember the existence of AutoSizeDuration, can make something out of it.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'd probably go for a - when data is unavailable. Showing nothing at all doesn't seem correct.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A plain - sprite text placeholder on the metadata display itself? or inside the StarRatingDisplay in here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not really sure, would have to see how things look. This might be a bit complicated based on how it's currently split up.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's no test covering this state.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's kind of already covered as it starts with null difficulty, but I'll add an explicit test step.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In the case of metadata display (which this is intended for), wouldn't it make more sense to fade the rating out entirely than to show a faintly visible 0? That seems kind of confusing from a UX sense. It's data that's not ready to be displayed, so I don't think it should be. It almost looks like a bug.

I've tried this approach + some fancy transforms and it looks to be good enough as a simple alternative way for the time being until the whole screen gets redesigned:

CleanShot 2021-05-14 at 15 24 59

@bdach bdach requested a review from peppy May 14, 2021 20:05
@peppy peppy merged commit 94b7e89 into ppy:master May 15, 2021
@frenzibyte frenzibyte deleted the current-star-rating branch May 15, 2021 06:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants