Implement chat ticker#37608
Conversation
| loadComponentSingleFile<IDialogOverlay>(new DialogOverlay(), topMostOverlayContent.Add, true); | ||
| loadComponentSingleFile(new MedalOverlay(), topMostOverlayContent.Add); | ||
|
|
||
| loadComponentSingleFile(fpsCounter = new FPSCounter |
There was a problem hiding this comment.
To make FPS counter draw above chat ticker (and everything else) in topMostOverlayContent container.
There was a problem hiding this comment.
The change you've made changes the load order of the counter, which may not be what we want.
|
|
||
| protected virtual float UsernameWidth => 150; | ||
|
|
||
| protected virtual bool UsernameIsClickable => true; |
There was a problem hiding this comment.
Use ctor init variable not virtual.
| Enabled = { Value = UsernameIsClickable }, | ||
| MuteSounds = { Value = !UsernameIsClickable }, |
There was a problem hiding this comment.
I'm very confused by this. Why not just use Enabled for the muting of sounds?
There was a problem hiding this comment.
Because Enabled set to false has disabled sound.
Maybe this should be implemented some other way.
| Colour = colourProvider.Background4, | ||
| } | ||
| }, | ||
| new OsuCheckbox |
| State.Value = Visibility.Visible; | ||
| this.FadeOutFromOne(10000).OnComplete(_ => State.Value = Visibility.Hidden); |
There was a problem hiding this comment.
What on earth is this visibility changing? The only time visibility state should be changed is if the component is enabled or disabled.
Closes #5117.
My only concern is off-screen text rendering of long messages because
ChatLine's text flow doesn't have single line mode or trimming functionality. Probably shouldn't worry too much about it when messages are limited by length server-side.Changes
TestSceneChatTickerandTestSceneMessageNotifierMuteSoundsproperty toOsuClickableContainerto remove unwanted sounds fromDrawableChatUsernameand chat overlay like in stableDemo video
2026-05-02.15-57-16.mp4