mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 14:32:55 +08:00
commit
82a708d2c0
@ -1 +1 @@
|
||||
Subproject commit 09c18c415d280448c44cb73f2c4e60e0092b974c
|
||||
Subproject commit 60e210c1aa62a114fb08e50797f8f839da326cc3
|
@ -1,31 +1,32 @@
|
||||
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
|
||||
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||
|
||||
using System.Collections.Generic;
|
||||
using osu.Desktop.VisualTests.Platform;
|
||||
using osu.Framework.GameModes.Testing;
|
||||
using osu.Game.Database;
|
||||
using osu.Game.Modes;
|
||||
using osu.Game.Screens.Select;
|
||||
|
||||
namespace osu.Desktop.VisualTests.Tests
|
||||
{
|
||||
class TestCasePlaySongSelect : TestCase
|
||||
{
|
||||
private BeatmapDatabase db;
|
||||
private TestStorage storage;
|
||||
|
||||
public override string Name => @"Song Select";
|
||||
//Copyright (c) 2007-2016 ppy Pty Ltd <contact@ppy.sh>.
|
||||
//Licensed under the MIT Licence - https://raw.githubusercontent.com/ppy/osu/master/LICENCE
|
||||
|
||||
using System.Collections.Generic;
|
||||
using osu.Desktop.VisualTests.Platform;
|
||||
using osu.Framework.GameModes.Testing;
|
||||
using osu.Game.Database;
|
||||
using osu.Game.Modes;
|
||||
using osu.Game.Screens.Select;
|
||||
|
||||
namespace osu.Desktop.VisualTests.Tests
|
||||
{
|
||||
class TestCasePlaySongSelect : TestCase
|
||||
{
|
||||
private BeatmapDatabase db, oldDb;
|
||||
private TestStorage storage;
|
||||
|
||||
public override string Name => @"Song Select";
|
||||
public override string Description => @"with fake data";
|
||||
|
||||
public override void Reset()
|
||||
{
|
||||
public override void Reset()
|
||||
{
|
||||
base.Reset();
|
||||
|
||||
oldDb = Dependencies.Get<BeatmapDatabase>();
|
||||
if (db == null)
|
||||
{
|
||||
storage = new TestStorage(@"TestCasePlaySongSelect");
|
||||
db = new BeatmapDatabase(storage);
|
||||
Dependencies.Cache(db, true);
|
||||
|
||||
var sets = new List<BeatmapSetInfo>();
|
||||
|
||||
@ -34,8 +35,13 @@ namespace osu.Desktop.VisualTests.Tests
|
||||
|
||||
db.Import(sets);
|
||||
}
|
||||
|
||||
Add(new PlaySongSelect(db));
|
||||
Add(new PlaySongSelect());
|
||||
}
|
||||
|
||||
protected override void Dispose(bool isDisposing)
|
||||
{
|
||||
Dependencies.Cache(oldDb, true);
|
||||
base.Dispose(isDisposing);
|
||||
}
|
||||
|
||||
private BeatmapSetInfo createTestBeatmapSet(int i)
|
||||
@ -89,6 +95,6 @@ namespace osu.Desktop.VisualTests.Tests
|
||||
},
|
||||
}),
|
||||
};
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -6,16 +6,17 @@ using osu.Framework.Graphics.Containers;
|
||||
using osu.Framework.Input;
|
||||
using osu.Framework.Threading;
|
||||
using OpenTK;
|
||||
using osu.Framework.Allocation;
|
||||
using osu.Framework.Graphics.Primitives;
|
||||
using osu.Framework.Audio;
|
||||
using osu.Framework.Allocation;
|
||||
|
||||
namespace osu.Game.Graphics.UserInterface.Volume
|
||||
{
|
||||
internal class VolumeControl : OverlayContainer
|
||||
{
|
||||
public BindableDouble VolumeGlobal { get; set; }
|
||||
public BindableDouble VolumeSample { get; set; }
|
||||
public BindableDouble VolumeTrack { get; set; }
|
||||
private BindableDouble volumeGlobal = new BindableDouble();
|
||||
private BindableDouble volumeSample = new BindableDouble();
|
||||
private BindableDouble volumeTrack = new BindableDouble();
|
||||
|
||||
private VolumeMeter volumeMeterMaster;
|
||||
|
||||
@ -54,20 +55,20 @@ namespace osu.Game.Graphics.UserInterface.Volume
|
||||
{
|
||||
base.LoadComplete();
|
||||
|
||||
VolumeGlobal.ValueChanged += volumeChanged;
|
||||
VolumeSample.ValueChanged += volumeChanged;
|
||||
VolumeTrack.ValueChanged += volumeChanged;
|
||||
volumeGlobal.ValueChanged += volumeChanged;
|
||||
volumeSample.ValueChanged += volumeChanged;
|
||||
volumeTrack.ValueChanged += volumeChanged;
|
||||
|
||||
volumeMeterMaster.Bindable = VolumeGlobal;
|
||||
volumeMeterEffect.Bindable = VolumeSample;
|
||||
volumeMeterMusic.Bindable = VolumeTrack;
|
||||
volumeMeterMaster.Bindable.Weld(volumeGlobal);
|
||||
volumeMeterEffect.Bindable.Weld(volumeSample);
|
||||
volumeMeterMusic.Bindable.Weld(volumeTrack);
|
||||
}
|
||||
|
||||
protected override void Dispose(bool isDisposing)
|
||||
{
|
||||
VolumeGlobal.ValueChanged -= volumeChanged;
|
||||
VolumeSample.ValueChanged -= volumeChanged;
|
||||
VolumeTrack.ValueChanged -= volumeChanged;
|
||||
volumeGlobal.ValueChanged -= volumeChanged;
|
||||
volumeSample.ValueChanged -= volumeChanged;
|
||||
volumeTrack.ValueChanged -= volumeChanged;
|
||||
base.Dispose(isDisposing);
|
||||
}
|
||||
|
||||
@ -82,6 +83,14 @@ namespace osu.Game.Graphics.UserInterface.Volume
|
||||
volumeMeterMaster.TriggerWheel(state);
|
||||
}
|
||||
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(AudioManager audio)
|
||||
{
|
||||
volumeGlobal.Weld(audio.Volume);
|
||||
volumeSample.Weld(audio.VolumeSample);
|
||||
volumeTrack.Weld(audio.VolumeTrack);
|
||||
}
|
||||
|
||||
ScheduledDelegate popOutDelegate;
|
||||
|
||||
private VolumeMeter volumeMeterEffect;
|
||||
|
@ -13,7 +13,7 @@ namespace osu.Game.Graphics.UserInterface.Volume
|
||||
internal class VolumeMeter : Container
|
||||
{
|
||||
private Box meterFill;
|
||||
public BindableDouble Bindable;
|
||||
public BindableDouble Bindable { get; private set; } = new BindableDouble();
|
||||
|
||||
public VolumeMeter(string meterName)
|
||||
{
|
||||
|
@ -97,12 +97,7 @@ namespace osu.Game
|
||||
{
|
||||
RelativeSizeAxes = Axes.Both,
|
||||
},
|
||||
volume = new VolumeControl
|
||||
{
|
||||
VolumeGlobal = Audio.Volume,
|
||||
VolumeSample = Audio.VolumeSample,
|
||||
VolumeTrack = Audio.VolumeTrack
|
||||
},
|
||||
volume = new VolumeControl(),
|
||||
overlayContent = new Container{ RelativeSizeAxes = Axes.Both },
|
||||
new GlobalHotkeys //exists because UserInputManager is at a level below us.
|
||||
{
|
||||
|
@ -45,7 +45,7 @@ namespace osu.Game
|
||||
Dependencies.Cache(new BeatmapDatabase(Host.Storage, Host));
|
||||
|
||||
//this completely overrides the framework default. will need to change once we make a proper FontStore.
|
||||
Dependencies.Cache(Fonts = new FontStore { ScaleAdjust = 0.01f });
|
||||
Dependencies.Cache(Fonts = new FontStore { ScaleAdjust = 0.01f }, true);
|
||||
|
||||
Fonts.AddStore(new GlyphStore(Resources, @"Fonts/FontAwesome"));
|
||||
Fonts.AddStore(new GlyphStore(Resources, @"Fonts/osuFont"));
|
||||
|
@ -73,11 +73,8 @@ namespace osu.Game.Screens.Select
|
||||
}
|
||||
}
|
||||
|
||||
/// <param name="database">Optionally provide a database to use instead of the OsuGame one.</param>
|
||||
public PlaySongSelect(BeatmapDatabase database = null)
|
||||
public PlaySongSelect()
|
||||
{
|
||||
this.database = database;
|
||||
|
||||
const float carouselWidth = 640;
|
||||
const float bottomToolHeight = 50;
|
||||
Children = new Drawable[]
|
||||
|
Loading…
Reference in New Issue
Block a user