1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-15 15:12:57 +08:00

Wire up all of the boolean options

This commit is contained in:
Drew DeVault 2016-11-08 22:38:40 -05:00
parent 485f60b418
commit 3ad633f363
31 changed files with 374 additions and 120 deletions

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Audio namespace osu.Game.Overlays.Options.Audio
{ {
@ -8,6 +10,8 @@ namespace osu.Game.Overlays.Options.Audio
{ {
protected override string Header => "Volume"; protected override string Header => "Volume";
private CheckBoxOption ignoreHitsounds;
public VolumeOptions() public VolumeOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
@ -15,8 +19,18 @@ namespace osu.Game.Overlays.Options.Audio
new SpriteText { Text = "Master: TODO slider" }, new SpriteText { Text = "Master: TODO slider" },
new SpriteText { Text = "Music: TODO slider" }, new SpriteText { Text = "Music: TODO slider" },
new SpriteText { Text = "Effect: TODO slider" }, new SpriteText { Text = "Effect: TODO slider" },
new BasicCheckBox { LabelText = "Ignore beatmap hitsounds" } ignoreHitsounds = new CheckBoxOption { LabelText = "Ignore beatmap hitsounds" }
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
ignoreHitsounds.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.IgnoreBeatmapSamples);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using OpenTK; using OpenTK;
using osu.Framework;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics; using osu.Game.Graphics;
namespace osu.Game.Overlays.Options namespace osu.Game.Overlays.Options
@ -10,19 +12,36 @@ namespace osu.Game.Overlays.Options
protected override string Header => "Editor"; protected override string Header => "Editor";
public override FontAwesome Icon => FontAwesome.fa_pencil; public override FontAwesome Icon => FontAwesome.fa_pencil;
private CheckBoxOption backgroundVideo, defaultSkin, snakingSliders, hitAnimations, followPoints, stacking;
public EditorSection() public EditorSection()
{ {
content.Spacing = new Vector2(0, 5); content.Spacing = new Vector2(0, 5);
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Background video" }, backgroundVideo = new CheckBoxOption { LabelText = "Background video" },
new BasicCheckBox { LabelText = "Always use default skin" }, defaultSkin = new CheckBoxOption { LabelText = "Always use default skin" },
new BasicCheckBox { LabelText = "Snaking sliders" }, snakingSliders = new CheckBoxOption { LabelText = "Snaking sliders" },
new BasicCheckBox { LabelText = "Hit animations" }, hitAnimations = new CheckBoxOption { LabelText = "Hit animations" },
new BasicCheckBox { LabelText = "Follow points" }, followPoints = new CheckBoxOption { LabelText = "Follow points" },
new BasicCheckBox { LabelText = "Stacking" }, stacking = new CheckBoxOption { LabelText = "Stacking" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
backgroundVideo.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.VideoEditor);
defaultSkin.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.EditorDefaultSkin);
snakingSliders.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.EditorSnakingSliders);
hitAnimations.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.EditorHitAnimations);
followPoints.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.EditorFollowPoints);
stacking.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.EditorStacking);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Gameplay namespace osu.Game.Overlays.Options.Gameplay
{ {
@ -8,6 +10,8 @@ namespace osu.Game.Overlays.Options.Gameplay
{ {
protected override string Header => "General"; protected override string Header => "General";
private CheckBoxOption keyOverlay, hiddenApproachCircle, scaleManiaScroll, rememberManiaScroll;
public GeneralGameplayOptions() public GeneralGameplayOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
@ -16,11 +20,24 @@ namespace osu.Game.Overlays.Options.Gameplay
new SpriteText { Text = "Progress display: TODO dropdown" }, new SpriteText { Text = "Progress display: TODO dropdown" },
new SpriteText { Text = "Score meter type: TODO dropdown" }, new SpriteText { Text = "Score meter type: TODO dropdown" },
new SpriteText { Text = "Score meter size: TODO slider" }, new SpriteText { Text = "Score meter size: TODO slider" },
new BasicCheckBox { LabelText = "Always show key overlay" }, keyOverlay = new CheckBoxOption { LabelText = "Always show key overlay" },
new BasicCheckBox { LabelText = "Show approach circle on first \"Hidden\" object" }, hiddenApproachCircle = new CheckBoxOption { LabelText = "Show approach circle on first \"Hidden\" object" },
new BasicCheckBox { LabelText = "Scale osu!mania scroll speed with BPM" }, scaleManiaScroll = new CheckBoxOption { LabelText = "Scale osu!mania scroll speed with BPM" },
new BasicCheckBox { LabelText = "Remember osu!mania scroll speed per beatmap" }, rememberManiaScroll = new CheckBoxOption { LabelText = "Remember osu!mania scroll speed per beatmap" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
keyOverlay.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.KeyOverlay);
hiddenApproachCircle.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.HiddenShowFirstApproach);
scaleManiaScroll.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ManiaSpeedBPMScale);
rememberManiaScroll.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.UsePerBeatmapManiaSpeed);
}
}
} }
} }

View File

@ -1,6 +1,7 @@
using osu.Framework; using osu.Framework;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.General namespace osu.Game.Overlays.Options.General
{ {
@ -25,8 +26,8 @@ namespace osu.Game.Overlays.Options.General
var osuGame = game as OsuGameBase; var osuGame = game as OsuGameBase;
if (osuGame != null) if (osuGame != null)
{ {
showUnicode.Bindable = osuGame.Config.GetBindable<bool>(Configuration.OsuConfig.ShowUnicode); showUnicode.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ShowUnicode);
altChatFont.Bindable = osuGame.Config.GetBindable<bool>(Configuration.OsuConfig.AlternativeChatFont); altChatFont.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AlternativeChatFont);
} }
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Graphics namespace osu.Game.Overlays.Options.Graphics
{ {
@ -8,19 +10,38 @@ namespace osu.Game.Overlays.Options.Graphics
{ {
protected override string Header => "Detail Settings"; protected override string Header => "Detail Settings";
private CheckBoxOption snakingSliders, backgroundVideo, storyboards, comboBursts,
hitLighting, shaders, softeningFilter;
public DetailOptions() public DetailOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Snaking sliders" }, snakingSliders = new CheckBoxOption { LabelText = "Snaking sliders" },
new BasicCheckBox { LabelText = "Background video" }, backgroundVideo = new CheckBoxOption { LabelText = "Background video" },
new BasicCheckBox { LabelText = "Storyboards" }, storyboards = new CheckBoxOption { LabelText = "Storyboards" },
new BasicCheckBox { LabelText = "Combo bursts" }, comboBursts = new CheckBoxOption { LabelText = "Combo bursts" },
new BasicCheckBox { LabelText = "Hit lighting" }, hitLighting = new CheckBoxOption { LabelText = "Hit lighting" },
new BasicCheckBox { LabelText = "Shaders" }, shaders = new CheckBoxOption { LabelText = "Shaders" },
new BasicCheckBox { LabelText = "Softening filter" }, softeningFilter = new CheckBoxOption { LabelText = "Softening filter" },
new SpriteText { Text = "Screenshot format TODO: dropdown" } new SpriteText { Text = "Screenshot format TODO: dropdown" }
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
snakingSliders.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.SnakingSliders);
backgroundVideo.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Video);
storyboards.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ShowStoryboard);
comboBursts.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ComboBurst);
hitLighting.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.HitLighting);
shaders.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Bloom);
softeningFilter.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.BloomSoftening);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Graphics namespace osu.Game.Overlays.Options.Graphics
{ {
@ -8,18 +10,31 @@ namespace osu.Game.Overlays.Options.Graphics
{ {
protected override string Header => "Layout"; protected override string Header => "Layout";
private CheckBoxOption fullscreen, letterboxing;
public LayoutOptions() public LayoutOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new SpriteText { Text = "Resolution: TODO dropdown" }, new SpriteText { Text = "Resolution: TODO dropdown" },
new BasicCheckBox { LabelText = "Fullscreen mode" }, fullscreen = new CheckBoxOption { LabelText = "Fullscreen mode" },
new BasicCheckBox { LabelText = "Letterboxing" }, letterboxing = new CheckBoxOption { LabelText = "Letterboxing" },
new SpriteText { Text = "Horizontal position" }, new SpriteText { Text = "Horizontal position" },
new SpriteText { Text = "TODO: slider" }, new SpriteText { Text = "TODO: slider" },
new SpriteText { Text = "Vertical position" }, new SpriteText { Text = "Vertical position" },
new SpriteText { Text = "TODO: slider" }, new SpriteText { Text = "TODO: slider" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
fullscreen.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Fullscreen);
letterboxing.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Letterboxing);
}
}
} }
} }

View File

@ -1,4 +1,6 @@
using osu.Framework.Graphics.UserInterface; using osu.Framework;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Graphics namespace osu.Game.Overlays.Options.Graphics
{ {
@ -6,16 +8,32 @@ namespace osu.Game.Overlays.Options.Graphics
{ {
protected override string Header => "Main Menu"; protected override string Header => "Main Menu";
private CheckBoxOption snow, parallax, tips, voices, musicTheme;
public MainMenuOptions() public MainMenuOptions()
{ {
Children = new[] Children = new[]
{ {
new BasicCheckBox { LabelText = "Snow" }, snow = new CheckBoxOption { LabelText = "Snow" },
new BasicCheckBox { LabelText = "Parallax" }, parallax = new CheckBoxOption { LabelText = "Parallax" },
new BasicCheckBox { LabelText = "Menu tips" }, tips = new CheckBoxOption { LabelText = "Menu tips" },
new BasicCheckBox { LabelText = "Interface voices" }, voices = new CheckBoxOption { LabelText = "Interface voices" },
new BasicCheckBox { LabelText = "osu! music theme" }, musicTheme = new CheckBoxOption { LabelText = "osu! music theme" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
snow.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MenuSnow);
parallax.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MenuParallax);
tips.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ShowMenuTips);
voices.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MenuVoice);
musicTheme.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MenuMusic);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Graphics namespace osu.Game.Overlays.Options.Graphics
{ {
@ -8,16 +10,30 @@ namespace osu.Game.Overlays.Options.Graphics
{ {
protected override string Header => "Renderer"; protected override string Header => "Renderer";
private CheckBoxOption fpsCounter, reduceDroppedFrames, detectPerformanceIssues;
public RendererOptions() public RendererOptions()
{ {
// NOTE: Compatability mode omitted // NOTE: Compatability mode omitted
Children = new Drawable[] Children = new Drawable[]
{ {
new SpriteText { Text = "Frame limiter: TODO dropdown" }, new SpriteText { Text = "Frame limiter: TODO dropdown" },
new BasicCheckBox { LabelText = "Show FPS counter" }, fpsCounter = new CheckBoxOption { LabelText = "Show FPS counter" },
new BasicCheckBox { LabelText = "Reduce dropped frames" }, reduceDroppedFrames = new CheckBoxOption { LabelText = "Reduce dropped frames" },
new BasicCheckBox { LabelText = "Detect performance issues" }, detectPerformanceIssues = new CheckBoxOption { LabelText = "Detect performance issues" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
fpsCounter.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.FpsCounter);
reduceDroppedFrames.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ForceFrameFlush);
detectPerformanceIssues.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.DetectPerformanceIssues);
}
}
} }
} }

View File

@ -1,4 +1,6 @@
using osu.Framework.Graphics.UserInterface; using osu.Framework;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Graphics namespace osu.Game.Overlays.Options.Graphics
{ {
@ -6,12 +8,24 @@ namespace osu.Game.Overlays.Options.Graphics
{ {
protected override string Header => "Song Select"; protected override string Header => "Song Select";
private CheckBoxOption showThumbs;
public SongSelectGraphicsOptions() public SongSelectGraphicsOptions()
{ {
Children = new[] Children = new[]
{ {
new BasicCheckBox { LabelText = "Show thumbnails" } showThumbs = new CheckBoxOption { LabelText = "Show thumbnails" }
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
showThumbs.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.SongSelectThumbnails);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Input namespace osu.Game.Overlays.Options.Input
{ {
@ -8,18 +10,34 @@ namespace osu.Game.Overlays.Options.Input
{ {
protected override string Header => "Mouse"; protected override string Header => "Mouse";
private CheckBoxOption rawInput, mapRawInput, disableWheel, disableButtons, enableRipples;
public MouseOptions() public MouseOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new SpriteText { Text = "Sensitivity: TODO slider" }, new SpriteText { Text = "Sensitivity: TODO slider" },
new BasicCheckBox { LabelText = "Raw input" }, rawInput = new CheckBoxOption { LabelText = "Raw input" },
new BasicCheckBox { LabelText = "Map absolute raw input to the osu! window" }, mapRawInput = new CheckBoxOption { LabelText = "Map absolute raw input to the osu! window" },
new SpriteText { Text = "Confine mouse cursor: TODO dropdown" }, new SpriteText { Text = "Confine mouse cursor: TODO dropdown" },
new BasicCheckBox { LabelText = "Disable mouse wheel in play mode" }, disableWheel = new CheckBoxOption { LabelText = "Disable mouse wheel in play mode" },
new BasicCheckBox { LabelText = "Disable mouse buttons in play mode" }, disableButtons = new CheckBoxOption { LabelText = "Disable mouse buttons in play mode" },
new BasicCheckBox { LabelText = "Cursor ripples" }, enableRipples = new CheckBoxOption { LabelText = "Cursor ripples" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
rawInput.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.RawInput);
mapRawInput.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AbsoluteToOsuWindow);
disableWheel.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MouseDisableWheel);
disableButtons.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MouseDisableButtons);
enableRipples.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.CursorRipple);
}
}
} }
} }

View File

@ -1,5 +1,7 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Input namespace osu.Game.Overlays.Options.Input
{ {
@ -7,14 +9,27 @@ namespace osu.Game.Overlays.Options.Input
{ {
protected override string Header => "Other"; protected override string Header => "Other";
private CheckBoxOption tabletSupport, wiimoteSupport;
public OtherInputOptions() public OtherInputOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "OS TabletPC support" }, tabletSupport = new CheckBoxOption { LabelText = "OS TabletPC support" },
new BasicCheckBox { LabelText = "Wiimote/TaTaCon Drum Support" }, wiimoteSupport = new CheckBoxOption { LabelText = "Wiimote/TaTaCon Drum Support" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
tabletSupport.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Tablet);
wiimoteSupport.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Wiimote);
}
}
} }
} }

View File

@ -1,6 +1,8 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Online namespace osu.Game.Overlays.Options.Online
{ {
@ -8,19 +10,34 @@ namespace osu.Game.Overlays.Options.Online
{ {
protected override string Header => "In-game Chat"; protected override string Header => "In-game Chat";
private CheckBoxOption filterWords, filterForeign, logPMs, blockPMs;
public InGameChatOptions() public InGameChatOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Filter offensive words" }, filterWords = new CheckBoxOption { LabelText = "Filter offensive words" },
new BasicCheckBox { LabelText = "Filter foreign characters" }, filterForeign = new CheckBoxOption { LabelText = "Filter foreign characters" },
new BasicCheckBox { LabelText = "Log private messages" }, logPMs = new CheckBoxOption { LabelText = "Log private messages" },
new BasicCheckBox { LabelText = "Block private messages from non-friends" }, blockPMs = new CheckBoxOption { LabelText = "Block private messages from non-friends" },
new SpriteText { Text = "Chat ignore list (space-seperated list)" }, new SpriteText { Text = "Chat ignore list (space-seperated list)" },
new TextBox { Height = 20, RelativeSizeAxes = Axes.X }, new TextBox { Height = 20, RelativeSizeAxes = Axes.X },
new SpriteText { Text = "Chat highlight words (space-seperated list)" }, new SpriteText { Text = "Chat highlight words (space-seperated list)" },
new TextBox { Height = 20, RelativeSizeAxes = Axes.X }, new TextBox { Height = 20, RelativeSizeAxes = Axes.X },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
filterWords.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ChatFilter);
filterForeign.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ChatRemoveForeign);
logPMs.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.LogPrivateMessages);
blockPMs.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.BlockNonFriendPM);
}
}
} }
} }

View File

@ -1,5 +1,7 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Online namespace osu.Game.Overlays.Options.Online
{ {
@ -7,17 +9,35 @@ namespace osu.Game.Overlays.Options.Online
{ {
protected override string Header => "Notifications"; protected override string Header => "Notifications";
private CheckBoxOption chatTicker, notifyMention, notifyChat, audibleNotification,
notificationsDuringGameplay, notifyFriendStatus;
public NotificationsOptions() public NotificationsOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Enable chat ticker" }, chatTicker = new CheckBoxOption { LabelText = "Enable chat ticker" },
new BasicCheckBox { LabelText = "Show a notification popup when someone says your name" }, notifyMention = new CheckBoxOption { LabelText = "Show a notification popup when someone says your name" },
new BasicCheckBox { LabelText = "Show chat message notifications" }, notifyChat = new CheckBoxOption { LabelText = "Show chat message notifications" },
new BasicCheckBox { LabelText = "Play a sound when someone says your name" }, audibleNotification = new CheckBoxOption { LabelText = "Play a sound when someone says your name" },
new BasicCheckBox { LabelText = "Show notification popups instantly during gameplay" }, notificationsDuringGameplay = new CheckBoxOption { LabelText = "Show notification popups instantly during gameplay" },
new BasicCheckBox { LabelText = "Show notification popups when friends change status" }, notifyFriendStatus = new CheckBoxOption { LabelText = "Show notification popups when friends change status" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
chatTicker.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.Ticker);
notifyMention.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ChatHighlightName);
notifyChat.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ChatMessageNotification);
audibleNotification.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.ChatAudibleHighlight);
notificationsDuringGameplay.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.PopupDuringGameplay);
notifyFriendStatus.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.NotifyFriends);
}
}
} }
} }

View File

@ -1,5 +1,7 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Online namespace osu.Game.Overlays.Options.Online
{ {
@ -7,15 +9,30 @@ namespace osu.Game.Overlays.Options.Online
{ {
protected override string Header => "Integration"; protected override string Header => "Integration";
private CheckBoxOption yahoo, msn, autoDirect, noVideo;
public OnlineIntegrationOptions() public OnlineIntegrationOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Integrate with Yahoo! status display" }, yahoo = new CheckBoxOption { LabelText = "Integrate with Yahoo! status display" },
new BasicCheckBox { LabelText = "Integrate with MSN Live status display" }, msn = new CheckBoxOption { LabelText = "Integrate with MSN Live status display" },
new BasicCheckBox { LabelText = "Automatically start osu!direct downloads" }, autoDirect = new CheckBoxOption { LabelText = "Automatically start osu!direct downloads" },
new BasicCheckBox { LabelText = "Prefer no-video downloads" }, noVideo = new CheckBoxOption { LabelText = "Prefer no-video downloads" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
yahoo.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.YahooIntegration);
msn.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.MsnIntegration);
autoDirect.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AutomaticDownload);
noVideo.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AutomaticDownloadNoVideo);
}
}
} }
} }

View File

@ -1,5 +1,7 @@
using osu.Framework.Graphics; using osu.Framework;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
namespace osu.Game.Overlays.Options.Online namespace osu.Game.Overlays.Options.Online
{ {
@ -7,14 +9,26 @@ namespace osu.Game.Overlays.Options.Online
{ {
protected override string Header => "Privacy"; protected override string Header => "Privacy";
private CheckBoxOption shareCity, allowInvites;
public PrivacyOptions() public PrivacyOptions()
{ {
Children = new Drawable[] Children = new Drawable[]
{ {
new BasicCheckBox { LabelText = "Share your city location with others" }, shareCity = new CheckBoxOption { LabelText = "Share your city location with others" },
new BasicCheckBox { LabelText = "Allow multiplayer game invites from all users" }, allowInvites = new CheckBoxOption { LabelText = "Allow multiplayer game invites from all users" },
new BasicCheckBox { LabelText = "Block private messages from non-friends" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
shareCity.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.DisplayCityLocation);
allowInvites.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AllowPublicInvites);
}
}
} }
} }

View File

@ -1,7 +1,9 @@
using OpenTK; using OpenTK;
using osu.Framework;
using osu.Framework.Graphics; using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites; using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface; using osu.Framework.Graphics.UserInterface;
using osu.Game.Configuration;
using osu.Game.Graphics; using osu.Game.Graphics;
using osu.Game.Graphics.UserInterface; using osu.Game.Graphics.UserInterface;
@ -12,6 +14,8 @@ namespace osu.Game.Overlays.Options
protected override string Header => "Skin"; protected override string Header => "Skin";
public override FontAwesome Icon => FontAwesome.fa_paint_brush; public override FontAwesome Icon => FontAwesome.fa_paint_brush;
private CheckBoxOption ignoreSkins, useSkinSoundSamples, useTaikoSkin, useSkinCursor, autoCursorSize;
public SkinSection() public SkinSection()
{ {
content.Spacing = new Vector2(0, 5); content.Spacing = new Vector2(0, 5);
@ -34,13 +38,27 @@ namespace osu.Game.Overlays.Options
RelativeSizeAxes = Axes.X, RelativeSizeAxes = Axes.X,
Text = "Export as .osk", Text = "Export as .osk",
}, },
new BasicCheckBox { LabelText = "Ignore all beatmap skins" }, ignoreSkins = new CheckBoxOption { LabelText = "Ignore all beatmap skins" },
new BasicCheckBox { LabelText = "Use skin's sound samples" }, useSkinSoundSamples = new CheckBoxOption { LabelText = "Use skin's sound samples" },
new BasicCheckBox { LabelText = "Use Taiko skin for Taiko mode" }, useTaikoSkin = new CheckBoxOption { LabelText = "Use Taiko skin for Taiko mode" },
new BasicCheckBox { LabelText = "Always use skin cursor" }, useSkinCursor = new CheckBoxOption { LabelText = "Always use skin cursor" },
new SpriteText { Text = "Cursor size: TODO slider" }, new SpriteText { Text = "Cursor size: TODO slider" },
new BasicCheckBox { LabelText = "Automatic cursor size" }, autoCursorSize = new CheckBoxOption { LabelText = "Automatic cursor size" },
}; };
} }
protected override void Load(BaseGame game)
{
base.Load(game);
var osuGame = game as OsuGameBase;
if (osuGame != null)
{
ignoreSkins.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.IgnoreBeatmapSkins);
useSkinSoundSamples.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.SkinSamples);
useTaikoSkin.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.UseTaikoSkin);
useSkinCursor.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.UseSkinCursor);
autoCursorSize.Bindable = osuGame.Config.GetBindable<bool>(OsuConfig.AutomaticCursorSizing);
}
}
} }
} }