mirror of
https://github.com/osukey/osukey.git
synced 2025-07-02 16:59:53 +09:00
Add EditorScreen + screen changing functionality
This commit is contained in:
@ -13,6 +13,7 @@ using osu.Game.Screens.Edit.Menus;
|
||||
using osu.Game.Screens.Edit.Components.Timelines.Summary;
|
||||
using OpenTK;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Game.Screens.Edit.Screens;
|
||||
|
||||
namespace osu.Game.Screens.Edit
|
||||
{
|
||||
@ -23,6 +24,9 @@ namespace osu.Game.Screens.Edit
|
||||
internal override bool ShowOverlays => false;
|
||||
|
||||
private readonly Box bottomBackground;
|
||||
private readonly Container modeContainer;
|
||||
|
||||
private EditorScreen currentScreen;
|
||||
|
||||
public Editor()
|
||||
{
|
||||
@ -77,10 +81,16 @@ namespace osu.Game.Screens.Edit
|
||||
}
|
||||
}
|
||||
},
|
||||
modeContainer = new Container
|
||||
{
|
||||
Name = "Screen container",
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
Padding = new MarginPadding { Top = 40, Bottom = 60 }
|
||||
}
|
||||
};
|
||||
|
||||
timeline.Beatmap.BindTo(Beatmap);
|
||||
menuBar.ModeChanged += onModeChanged;
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
@ -89,6 +99,20 @@ namespace osu.Game.Screens.Edit
|
||||
bottomBackground.Colour = colours.Gray2;
|
||||
}
|
||||
|
||||
private void onModeChanged(EditorScreenMode mode)
|
||||
{
|
||||
currentScreen?.Exit();
|
||||
|
||||
switch (mode)
|
||||
{
|
||||
default:
|
||||
currentScreen = new EditorScreen();
|
||||
break;
|
||||
}
|
||||
|
||||
modeContainer.Add(currentScreen);
|
||||
}
|
||||
|
||||
protected override void OnResuming(Screen last)
|
||||
{
|
||||
Beatmap.Value.Track?.Stop();
|
||||
|
Reference in New Issue
Block a user