mirror of
https://github.com/osukey/osukey.git
synced 2025-08-04 23:24:04 +09:00
Merge branch 'master' into osu-direct-search
This commit is contained in:
@ -114,8 +114,8 @@ namespace osu.Game.Screens.Menu
|
||||
buttonsTopLevel.Add(new Button(@"osu!direct", string.Empty, FontAwesome.fa_osu_chevron_down_o, new Color4(165, 204, 0, 255), () => OnDirect?.Invoke(), 0, Key.D));
|
||||
buttonsTopLevel.Add(new Button(@"exit", string.Empty, FontAwesome.fa_osu_cross_o, new Color4(238, 51, 153, 255), onExit, 0, Key.Q));
|
||||
|
||||
buttonFlow.Add(buttonsPlay);
|
||||
buttonFlow.Add(buttonsTopLevel);
|
||||
buttonFlow.AddRange(buttonsPlay);
|
||||
buttonFlow.AddRange(buttonsTopLevel);
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader(true)]
|
||||
@ -213,88 +213,89 @@ namespace osu.Game.Screens.Menu
|
||||
backButton.ContractStyle = 0;
|
||||
settingsButton.ContractStyle = 0;
|
||||
|
||||
switch (state)
|
||||
bool fromInitial = lastState == MenuState.Initial;
|
||||
|
||||
if (state == MenuState.TopLevel)
|
||||
buttonArea.Flush(true);
|
||||
|
||||
using (buttonArea.BeginDelayedSequence(fromInitial ? 150 : 0, true))
|
||||
{
|
||||
case MenuState.Exit:
|
||||
case MenuState.Initial:
|
||||
toolbar?.Hide();
|
||||
switch (state)
|
||||
{
|
||||
case MenuState.Exit:
|
||||
case MenuState.Initial:
|
||||
toolbar?.Hide();
|
||||
|
||||
buttonAreaBackground.ScaleTo(Vector2.One, 500, EasingTypes.Out);
|
||||
buttonArea.FadeOut(300);
|
||||
buttonAreaBackground.ScaleTo(Vector2.One, 500, EasingTypes.Out);
|
||||
buttonArea.FadeOut(300);
|
||||
|
||||
osuLogo.Delay(150);
|
||||
osuLogo.MoveTo(Vector2.Zero, 800, EasingTypes.OutExpo);
|
||||
osuLogo.ScaleTo(1, 800, EasingTypes.OutExpo);
|
||||
using (osuLogo.BeginDelayedSequence(150))
|
||||
{
|
||||
osuLogo.MoveTo(Vector2.Zero, 800, EasingTypes.OutExpo);
|
||||
osuLogo.ScaleTo(1, 800, EasingTypes.OutExpo);
|
||||
}
|
||||
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Contracted;
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Contracted;
|
||||
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
|
||||
if (state == MenuState.Exit)
|
||||
{
|
||||
osuLogo.RotateTo(20, EXIT_DELAY * 1.5f);
|
||||
osuLogo.FadeOut(EXIT_DELAY);
|
||||
}
|
||||
else if (lastState == MenuState.TopLevel)
|
||||
sampleBack?.Play();
|
||||
break;
|
||||
case MenuState.TopLevel:
|
||||
buttonArea.Flush(true);
|
||||
if (state == MenuState.Exit)
|
||||
{
|
||||
osuLogo.RotateTo(20, EXIT_DELAY * 1.5f);
|
||||
osuLogo.FadeOut(EXIT_DELAY);
|
||||
}
|
||||
else if (lastState == MenuState.TopLevel)
|
||||
sampleBack?.Play();
|
||||
break;
|
||||
case MenuState.TopLevel:
|
||||
buttonAreaBackground.ScaleTo(Vector2.One, 200, EasingTypes.Out);
|
||||
|
||||
buttonAreaBackground.ScaleTo(Vector2.One, 200, EasingTypes.Out);
|
||||
osuLogo.ClearTransforms();
|
||||
osuLogo.MoveTo(buttonFlow.DrawPosition, 200, EasingTypes.In);
|
||||
osuLogo.ScaleTo(0.5f, 200, EasingTypes.In);
|
||||
|
||||
osuLogo.MoveTo(buttonFlow.DrawPosition, 200, EasingTypes.In);
|
||||
osuLogo.ScaleTo(0.5f, 200, EasingTypes.In);
|
||||
buttonArea.FadeIn(300);
|
||||
|
||||
buttonArea.FadeIn(300);
|
||||
|
||||
if (lastState == MenuState.Initial)
|
||||
{
|
||||
buttonArea.Delay(150, true);
|
||||
|
||||
if (osuLogo.Scale.X > 0.5f)
|
||||
if (fromInitial && osuLogo.Scale.X > 0.5f)
|
||||
using (osuLogo.BeginDelayedSequence(200, true))
|
||||
osuLogo.Impact();
|
||||
}
|
||||
|
||||
Scheduler.AddDelayed(() => toolbar?.Show(), 150);
|
||||
Scheduler.AddDelayed(() => toolbar?.Show(), 150);
|
||||
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Expanded;
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Expanded;
|
||||
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
break;
|
||||
case MenuState.Play:
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Exploded;
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
break;
|
||||
case MenuState.Play:
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Exploded;
|
||||
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Expanded;
|
||||
break;
|
||||
case MenuState.EnteringMode:
|
||||
buttonAreaBackground.ScaleTo(new Vector2(2, 0), 300, EasingTypes.InSine);
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Expanded;
|
||||
break;
|
||||
case MenuState.EnteringMode:
|
||||
buttonAreaBackground.ScaleTo(new Vector2(2, 0), 300, EasingTypes.InSine);
|
||||
|
||||
buttonsTopLevel.ForEach(b => b.ContractStyle = 1);
|
||||
buttonsPlay.ForEach(b => b.ContractStyle = 1);
|
||||
backButton.ContractStyle = 1;
|
||||
settingsButton.ContractStyle = 1;
|
||||
buttonsTopLevel.ForEach(b => b.ContractStyle = 1);
|
||||
buttonsPlay.ForEach(b => b.ContractStyle = 1);
|
||||
backButton.ContractStyle = 1;
|
||||
settingsButton.ContractStyle = 1;
|
||||
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Contracted;
|
||||
foreach (Button b in buttonsTopLevel)
|
||||
b.State = ButtonState.Contracted;
|
||||
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
break;
|
||||
foreach (Button b in buttonsPlay)
|
||||
b.State = ButtonState.Contracted;
|
||||
break;
|
||||
}
|
||||
|
||||
backButton.State = state == MenuState.Play ? ButtonState.Expanded : ButtonState.Contracted;
|
||||
settingsButton.State = state == MenuState.TopLevel ? ButtonState.Expanded : ButtonState.Contracted;
|
||||
}
|
||||
|
||||
backButton.State = state == MenuState.Play ? ButtonState.Expanded : ButtonState.Contracted;
|
||||
settingsButton.State = state == MenuState.TopLevel ? ButtonState.Expanded : ButtonState.Contracted;
|
||||
|
||||
if (lastState == MenuState.Initial)
|
||||
buttonArea.DelayReset();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ namespace osu.Game.Screens.Menu
|
||||
/// </summary>
|
||||
public Drawable CentreTarget;
|
||||
|
||||
protected override IComparer<Drawable> DepthComparer => new ReverseCreationOrderDepthComparer();
|
||||
protected override int Compare(Drawable x, Drawable y) => CompareReverseChildID(x, y);
|
||||
|
||||
protected override IEnumerable<Drawable> FlowingChildren => base.FlowingChildren.Reverse();
|
||||
|
||||
|
@ -27,7 +27,7 @@ namespace osu.Game.Screens.Play.HUD
|
||||
{
|
||||
Children = new Drawable[]
|
||||
{
|
||||
iconsContainer = new ReverseDepthFillFlowContainer<ModIcon>
|
||||
iconsContainer = new ReverseChildIDFillFlowContainer<ModIcon>
|
||||
{
|
||||
Anchor = Anchor.TopCentre,
|
||||
Origin = Anchor.TopCentre,
|
||||
|
@ -20,15 +20,15 @@ namespace osu.Game.Screens.Play
|
||||
private SpriteText countSpriteText;
|
||||
|
||||
public bool IsCounting { get; set; }
|
||||
private int count;
|
||||
public int Count
|
||||
private int countPresses;
|
||||
public int CountPresses
|
||||
{
|
||||
get { return count; }
|
||||
get { return countPresses; }
|
||||
private set
|
||||
{
|
||||
if (count != value)
|
||||
if (countPresses != value)
|
||||
{
|
||||
count = value;
|
||||
countPresses = value;
|
||||
countSpriteText.Text = value.ToString(@"#,0");
|
||||
}
|
||||
}
|
||||
@ -45,7 +45,7 @@ namespace osu.Game.Screens.Play
|
||||
isLit = value;
|
||||
updateGlowSprite(value);
|
||||
if (value && IsCounting)
|
||||
Count++;
|
||||
CountPresses++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -98,7 +98,7 @@ namespace osu.Game.Screens.Play
|
||||
},
|
||||
countSpriteText = new OsuSpriteText
|
||||
{
|
||||
Text = Count.ToString(@"#,0"),
|
||||
Text = CountPresses.ToString(@"#,0"),
|
||||
Anchor = Anchor.Centre,
|
||||
Origin = Anchor.Centre,
|
||||
RelativePositionAxes = Axes.Both,
|
||||
@ -128,6 +128,6 @@ namespace osu.Game.Screens.Play
|
||||
}
|
||||
}
|
||||
|
||||
public void ResetCount() => Count = 0;
|
||||
public void ResetCount() => CountPresses = 0;
|
||||
}
|
||||
}
|
||||
|
@ -200,7 +200,7 @@ namespace osu.Game.Screens.Play
|
||||
|
||||
scoreProcessor = HitRenderer.CreateScoreProcessor();
|
||||
|
||||
hudOverlay.KeyCounter.Add(rulesetInstance.CreateGameplayKeys());
|
||||
hudOverlay.KeyCounter.AddRange(rulesetInstance.CreateGameplayKeys());
|
||||
hudOverlay.BindProcessor(scoreProcessor);
|
||||
hudOverlay.BindHitRenderer(HitRenderer);
|
||||
|
||||
|
@ -40,7 +40,7 @@ namespace osu.Game.Screens.Ranking
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(OsuColour colours)
|
||||
{
|
||||
AddInternal(new Drawable[]
|
||||
AddRangeInternal(new Drawable[]
|
||||
{
|
||||
fill = new Box
|
||||
{
|
||||
|
@ -12,7 +12,6 @@ using osu.Game.Beatmaps.Drawables;
|
||||
using osu.Game.Configuration;
|
||||
using osu.Framework.Input;
|
||||
using OpenTK.Input;
|
||||
using System.Collections;
|
||||
using osu.Framework.MathUtils;
|
||||
using System.Diagnostics;
|
||||
using System.Threading.Tasks;
|
||||
@ -22,7 +21,7 @@ using osu.Framework.Configuration;
|
||||
|
||||
namespace osu.Game.Screens.Select
|
||||
{
|
||||
internal class BeatmapCarousel : ScrollContainer, IEnumerable<BeatmapGroup>
|
||||
internal class BeatmapCarousel : ScrollContainer
|
||||
{
|
||||
public BeatmapInfo SelectedBeatmap => selectedPanel?.Beatmap;
|
||||
|
||||
@ -265,10 +264,6 @@ namespace osu.Game.Screens.Select
|
||||
perform();
|
||||
}
|
||||
|
||||
public IEnumerator<BeatmapGroup> GetEnumerator() => groups.GetEnumerator();
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator() => GetEnumerator();
|
||||
|
||||
private BeatmapGroup createGroup(BeatmapSetInfo beatmapSet)
|
||||
{
|
||||
foreach (var b in beatmapSet.Beatmaps)
|
||||
@ -307,7 +302,7 @@ namespace osu.Game.Screens.Select
|
||||
panels.Remove(p);
|
||||
|
||||
scrollableContent.Remove(group.Header);
|
||||
scrollableContent.Remove(group.BeatmapPanels);
|
||||
scrollableContent.RemoveRange(group.BeatmapPanels);
|
||||
|
||||
if (selectedGroup == group)
|
||||
SelectNext();
|
||||
|
@ -33,7 +33,7 @@ namespace osu.Game.Screens.Select
|
||||
|
||||
public BeatmapDetailArea()
|
||||
{
|
||||
AddInternal(new Drawable[]
|
||||
AddRangeInternal(new Drawable[]
|
||||
{
|
||||
new BeatmapDetailAreaTabControl
|
||||
{
|
||||
@ -61,7 +61,7 @@ namespace osu.Game.Screens.Select
|
||||
},
|
||||
});
|
||||
|
||||
Add(new Drawable[]
|
||||
AddRange(new Drawable[]
|
||||
{
|
||||
Details = new BeatmapDetails
|
||||
{
|
||||
|
@ -70,7 +70,7 @@ namespace osu.Game.Screens.Select.Options
|
||||
Scale = new Vector2(1, 0),
|
||||
Colour = Color4.Black.Opacity(0.5f),
|
||||
},
|
||||
buttonsContainer = new ReverseDepthFillFlowContainer<BeatmapOptionsButton>
|
||||
buttonsContainer = new ReverseChildIDFillFlowContainer<BeatmapOptionsButton>
|
||||
{
|
||||
Height = height,
|
||||
RelativePositionAxes = Axes.X,
|
||||
|
Reference in New Issue
Block a user