mirror of
https://github.com/ppy/osu.git
synced 2024-11-11 11:37:28 +08:00
Apply horizontal offset changing once per frame
The previous way was causing every-frame invalidation when an overlay is visible.
This commit is contained in:
parent
d099bb8ab6
commit
b58b5ec2b4
@ -1013,10 +1013,14 @@ namespace osu.Game
|
||||
ScreenOffsetContainer.Padding = new MarginPadding { Top = ToolbarOffset };
|
||||
overlayContent.Padding = new MarginPadding { Top = ToolbarOffset };
|
||||
|
||||
ScreenOffsetContainer.X = 0f;
|
||||
var horizontalOffset = 0f;
|
||||
|
||||
if (Settings.IsLoaded) ScreenOffsetContainer.X += (ToLocalSpace(Settings.ScreenSpaceDrawQuad.TopRight).X) * SCREEN_OFFSET_RATIO;
|
||||
if (Notifications.IsLoaded) ScreenOffsetContainer.X += (ToLocalSpace(Notifications.ScreenSpaceDrawQuad.TopLeft).X - DrawWidth) * SCREEN_OFFSET_RATIO;
|
||||
if (Settings.IsLoaded)
|
||||
horizontalOffset += (ToLocalSpace(Settings.ScreenSpaceDrawQuad.TopRight).X) * SCREEN_OFFSET_RATIO;
|
||||
if (Notifications.IsLoaded)
|
||||
horizontalOffset += (ToLocalSpace(Notifications.ScreenSpaceDrawQuad.TopLeft).X - DrawWidth) * SCREEN_OFFSET_RATIO;
|
||||
|
||||
ScreenOffsetContainer.X = horizontalOffset;
|
||||
|
||||
MenuCursorContainer.CanShowCursor = (ScreenStack.CurrentScreen as IOsuScreen)?.CursorVisible ?? false;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user