Merge pull request #189 from SirCmpwn/general-fixes

General fixes
This commit is contained in:
Dean Herbert 2016-11-26 16:56:07 +09:00 committed by GitHub
commit 82a708d2c0
7 changed files with 59 additions and 52 deletions

@ -1 +1 @@
Subproject commit 09c18c415d280448c44cb73f2c4e60e0092b974c
Subproject commit 60e210c1aa62a114fb08e50797f8f839da326cc3

View File

@ -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
},
}),
};
}
}
}
}
}
}

View File

@ -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;

View File

@ -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)
{

View File

@ -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.
{

View File

@ -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"));

View File

@ -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[]