From 1d8c6db0a7327ba85c98e199bd02ac5b0903243a Mon Sep 17 00:00:00 2001 From: Drew DeVault Date: Thu, 3 Nov 2016 00:43:05 -0400 Subject: [PATCH] Add remaining options --- .../Overlays/Options/AlertsPrivacyOptions.cs | 29 +++++++++++ osu.Game/Overlays/Options/EditorOptions.cs | 31 +++++++++++ .../Overlays/Options/InGameChatOptions.cs | 26 ++++++++++ .../Overlays/Options/MaintenanceOptions.cs | 51 +++++++++++++++++++ .../Options/OnlineIntegrationOptions.cs | 21 ++++++++ osu.Game/Overlays/Options/OnlineOptions.cs | 19 +++++++ osu.Game/Overlays/OptionsOverlay.cs | 3 ++ osu.Game/osu.Game.csproj | 6 +++ 8 files changed, 186 insertions(+) create mode 100644 osu.Game/Overlays/Options/AlertsPrivacyOptions.cs create mode 100644 osu.Game/Overlays/Options/EditorOptions.cs create mode 100644 osu.Game/Overlays/Options/InGameChatOptions.cs create mode 100644 osu.Game/Overlays/Options/MaintenanceOptions.cs create mode 100644 osu.Game/Overlays/Options/OnlineIntegrationOptions.cs create mode 100644 osu.Game/Overlays/Options/OnlineOptions.cs diff --git a/osu.Game/Overlays/Options/AlertsPrivacyOptions.cs b/osu.Game/Overlays/Options/AlertsPrivacyOptions.cs new file mode 100644 index 0000000000..1448a60732 --- /dev/null +++ b/osu.Game/Overlays/Options/AlertsPrivacyOptions.cs @@ -0,0 +1,29 @@ +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options +{ + public class AlertsPrivacyOptions : OptionsSubsection + { + public AlertsPrivacyOptions() + { + // TODO: this should probably be split into Alerts and Privacy + Header = "Alerts & Privacy"; + Children = new Drawable[] + { + new BasicCheckBox { LabelText = "Chat ticker" }, + new BasicCheckBox { LabelText = "Automatically hide chat during gameplay" }, + new BasicCheckBox { LabelText = "Show a notification popup when someone says your name" }, + new BasicCheckBox { LabelText = "Show chat message notifications" }, + new BasicCheckBox { LabelText = "Play a sound when someone says your name" }, + new BasicCheckBox { LabelText = "Share your city location with others" }, + new BasicCheckBox { LabelText = "Show spectators" }, + new BasicCheckBox { LabelText = "Automatically link beatmaps to spectators" }, + new BasicCheckBox { LabelText = "Show notification popups instantly during gameplay" }, + new BasicCheckBox { LabelText = "Show notification popups when friends change status" }, + new BasicCheckBox { LabelText = "Allow multiplayer game invites from all users" }, + }; + } + } +} \ No newline at end of file diff --git a/osu.Game/Overlays/Options/EditorOptions.cs b/osu.Game/Overlays/Options/EditorOptions.cs new file mode 100644 index 0000000000..3d1b18cbd0 --- /dev/null +++ b/osu.Game/Overlays/Options/EditorOptions.cs @@ -0,0 +1,31 @@ +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options +{ + public class EditorOptions : OptionsSection + { + public EditorOptions() + { + Header = "Editor"; + Children = new Drawable[] + { + new OptionsSubsection + { + Header = "General", + Children = new Drawable[] + { + new BasicCheckBox { LabelText = "Background video" }, + new BasicCheckBox { LabelText = "Always use default skin" }, + new BasicCheckBox { LabelText = "Snaking sliders" }, + new BasicCheckBox { LabelText = "Hit animations" }, + new BasicCheckBox { LabelText = "Follow points" }, + new BasicCheckBox { LabelText = "Stacking" }, + } + } + }; + } + } +} + diff --git a/osu.Game/Overlays/Options/InGameChatOptions.cs b/osu.Game/Overlays/Options/InGameChatOptions.cs new file mode 100644 index 0000000000..34d34c64a6 --- /dev/null +++ b/osu.Game/Overlays/Options/InGameChatOptions.cs @@ -0,0 +1,26 @@ +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Sprites; +using osu.Framework.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options +{ + public class InGameChatOptions : OptionsSubsection + { + public InGameChatOptions() + { + Header = "In-game Chat"; + Children = new Drawable[] + { + new BasicCheckBox { LabelText = "Filter offensive words" }, + new BasicCheckBox { LabelText = "Filter foreign characters" }, + new BasicCheckBox { LabelText = "Log private messages" }, + new BasicCheckBox { LabelText = "Block private messages from non-friends" }, + new SpriteText { Text = "Chat ignore list (space-seperated list)" }, + new TextBox { Height = 20, RelativeSizeAxes = Axes.X }, + new SpriteText { Text = "Chat highlight words (space-seperated list)" }, + new TextBox { Height = 20, RelativeSizeAxes = Axes.X }, + }; + } + } +} \ No newline at end of file diff --git a/osu.Game/Overlays/Options/MaintenanceOptions.cs b/osu.Game/Overlays/Options/MaintenanceOptions.cs new file mode 100644 index 0000000000..3f6cad995f --- /dev/null +++ b/osu.Game/Overlays/Options/MaintenanceOptions.cs @@ -0,0 +1,51 @@ +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.Sprites; +using osu.Game.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options +{ + public class MaintenanceOptions : OptionsSection + { + public MaintenanceOptions() + { + Header = "Maintenance"; + Children = new Drawable[] + { + new OptionsSubsection + { + Header = "General", + Children = new Drawable[] + { + new OsuButton + { + RelativeSizeAxes = Axes.X, + Text = "Delete all unranked maps", + }, + new OsuButton + { + RelativeSizeAxes = Axes.X, + Text = "Repair folder permissions", + }, + new OsuButton + { + RelativeSizeAxes = Axes.X, + Text = "Mark all maps as played", + }, + new OsuButton + { + RelativeSizeAxes = Axes.X, + Text = "Run osu! updater", + }, + new SpriteText + { + Text = "TODO: osu version here", + Anchor = Anchor.TopCentre, + Origin = Anchor.TopCentre, + }, + } + } + }; + } + } +} \ No newline at end of file diff --git a/osu.Game/Overlays/Options/OnlineIntegrationOptions.cs b/osu.Game/Overlays/Options/OnlineIntegrationOptions.cs new file mode 100644 index 0000000000..e08161f8f1 --- /dev/null +++ b/osu.Game/Overlays/Options/OnlineIntegrationOptions.cs @@ -0,0 +1,21 @@ +using System; +using osu.Framework.Graphics; +using osu.Framework.Graphics.UserInterface; + +namespace osu.Game.Overlays.Options +{ + public class OnlineIntegrationOptions : OptionsSubsection + { + public OnlineIntegrationOptions() + { + Header = "Integration"; + Children = new Drawable[] + { + new BasicCheckBox { LabelText = "Integrate with Yahoo! status display" }, + new BasicCheckBox { LabelText = "Integrate with MSN Live status display" }, + new BasicCheckBox { LabelText = "Automatically start osu!direct downloads" }, + new BasicCheckBox { LabelText = "Prefer no-video downloads" }, + }; + } + } +} \ No newline at end of file diff --git a/osu.Game/Overlays/Options/OnlineOptions.cs b/osu.Game/Overlays/Options/OnlineOptions.cs new file mode 100644 index 0000000000..88c9b0e68e --- /dev/null +++ b/osu.Game/Overlays/Options/OnlineOptions.cs @@ -0,0 +1,19 @@ +using System; +using osu.Framework.Graphics; + +namespace osu.Game.Overlays.Options +{ + public class OnlineOptions : OptionsSection + { + public OnlineOptions() + { + Header = "Online"; + Children = new Drawable[] + { + new AlertsPrivacyOptions(), + new OnlineIntegrationOptions(), + new InGameChatOptions(), + }; + } + } +} \ No newline at end of file diff --git a/osu.Game/Overlays/OptionsOverlay.cs b/osu.Game/Overlays/OptionsOverlay.cs index da9b4a412a..05c8d9b8fd 100644 --- a/osu.Game/Overlays/OptionsOverlay.cs +++ b/osu.Game/Overlays/OptionsOverlay.cs @@ -87,6 +87,9 @@ namespace osu.Game.Overlays new AudioOptions(), new SkinOptions(), new InputOptions(), + new EditorOptions(), + new OnlineOptions(), + new MaintenanceOptions(), } } } diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index 1b83b89594..1a1551a1d8 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -219,6 +219,12 @@ + + + + + +