Add more options

This commit is contained in:
Drew DeVault 2016-11-03 00:26:49 -04:00
parent 7e77efcfdc
commit c7fa0a5ab0
16 changed files with 307 additions and 4 deletions

View File

@ -0,0 +1,17 @@
using System;
using osu.Framework.Graphics.Sprites;
namespace osu.Game.Overlays.Options
{
public class AudioDevicesOptions : OptionsSubsection
{
public AudioDevicesOptions()
{
Header = "Devices";
Children = new[]
{
new SpriteText { Text = "Output device: TODO dropdown" }
};
}
}
}

View File

@ -0,0 +1,19 @@
using System;
using osu.Framework.Graphics;
namespace osu.Game.Overlays.Options
{
public class AudioOptions : OptionsSection
{
public AudioOptions()
{
Header = "Audio";
Children = new Drawable[]
{
new AudioDevicesOptions(),
new VolumeOptions(),
new OffsetAdjustmentOptions(),
};
}
}
}

View File

@ -5,9 +5,9 @@
namespace osu.Game.Overlays.Options
{
public class DetailSettings : OptionsSubsection
public class DetailOptions : OptionsSubsection
{
public DetailSettings()
public DetailOptions()
{
Header = "Detail Settings";
Children = new Drawable[]

View File

@ -0,0 +1,18 @@
using System;
using osu.Framework.Graphics;
namespace osu.Game.Overlays.Options
{
public class GameplayOptions : OptionsSection
{
public GameplayOptions()
{
Header = "Gameplay";
Children = new Drawable[]
{
new GeneralGameplayOptions(),
new SongSelectGameplayOptions(),
};
}
}
}

View File

@ -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 GeneralGameplayOptions : OptionsSubsection
{
public GeneralGameplayOptions()
{
Header = "General";
Children = new Drawable[]
{
new SpriteText { Text = "Background dim: TODO slider" },
new SpriteText { Text = "Progress display: TODO dropdown" },
new SpriteText { Text = "Score meter type: TODO dropdown" },
new SpriteText { Text = "Score meter size: TODO slider" },
new BasicCheckBox { LabelText = "Always show key overlay" },
new BasicCheckBox { LabelText = "Show approach circle on first \"Hidden\" object" },
new BasicCheckBox { LabelText = "Scale osu!mania scroll speed with BPM" },
new BasicCheckBox { LabelText = "Remember osu!mania scroll speed per beatmap" },
};
}
}
}

View File

@ -12,7 +12,7 @@ public GraphicsOptions()
{
new RendererOptions(),
new LayoutOptions(),
new DetailSettings(),
new DetailOptions(),
new MainMenuOptions(),
new SongSelectGraphicsOptions(),
};

View File

@ -0,0 +1,20 @@
using System;
using osu.Framework.Graphics;
namespace osu.Game.Overlays.Options
{
public class InputOptions : OptionsSection
{
public InputOptions()
{
Header = "Input";
Children = new Drawable[]
{
new MouseOptions(),
new KeyboardOptions(),
new OtherInputOptions(),
};
}
}
}

View File

@ -0,0 +1,27 @@
using System;
using osu.Framework.Graphics;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class KeyboardOptions : OptionsSubsection
{
public KeyboardOptions()
{
Header = "Keyboard";
Children = new Drawable[]
{
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "Change keyboard bindings"
},
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "osu!mania layout"
}
};
}
}
}

View File

@ -0,0 +1,25 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class MouseOptions : OptionsSubsection
{
public MouseOptions()
{
Header = "Mouse";
Children = new Drawable[]
{
new SpriteText { Text = "Sensitivity: TODO slider" },
new BasicCheckBox { LabelText = "Raw input" },
new BasicCheckBox { LabelText = "Map absolute raw input to the osu! window" },
new SpriteText { Text = "Confine mouse cursor: TODO dropdown" },
new BasicCheckBox { LabelText = "Disable mouse wheel in play mode" },
new BasicCheckBox { LabelText = "Disable mouse buttons in play mode" },
new BasicCheckBox { LabelText = "Cursor ripples" },
};
}
}
}

View File

@ -0,0 +1,24 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class OffsetAdjustmentOptions : OptionsSubsection
{
public OffsetAdjustmentOptions()
{
Header = "Offset Adjustment";
Children = new Drawable[]
{
new SpriteText { Text = "Universal Offset: TODO slider" },
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "Offset wizard"
}
};
}
}
}

View File

@ -0,0 +1,20 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class OtherInputOptions : OptionsSubsection
{
public OtherInputOptions()
{
Header = "Other";
Children = new Drawable[]
{
new BasicCheckBox { LabelText = "OS TabletPC support" },
new BasicCheckBox { LabelText = "Wiimote/TaTaCon Drum Support" },
};
}
}
}

View File

@ -0,0 +1,49 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
using osu.Game.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class SkinOptions : OptionsSection
{
public SkinOptions()
{
Header = "Skin";
Children = new Drawable[]
{
new OptionsSubsection
{
Header = "Skin",
Children = new Drawable[]
{
new SpriteText { Text = "TODO: Skin preview textures" },
new SpriteText { Text = "Current skin: TODO dropdown" },
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "Preview gameplay",
},
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "Open skin folder",
},
new OsuButton
{
RelativeSizeAxes = Axes.X,
Text = "Export as .osk",
},
new BasicCheckBox { LabelText = "Ignore all beatmap skins" },
new BasicCheckBox { LabelText = "Use skin's sound samples" },
new BasicCheckBox { LabelText = "Use Taiko skin for Taiko mode" },
new BasicCheckBox { LabelText = "Always use skin cursor" },
new SpriteText { Text = "Cursor size: TODO slider" },
new BasicCheckBox { LabelText = "Automatic cursor size" },
}
}
};
}
}
}

View File

@ -0,0 +1,20 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
namespace osu.Game.Overlays.Options
{
public class SongSelectGameplayOptions : OptionsSubsection
{
public SongSelectGameplayOptions()
{
Header = "Song Select";
Children = new Drawable[]
{
new SpriteText { Text = "Display beatmaps from: TODO slider" },
new SpriteText { Text = "up to: TODO slider" },
};
}
}
}

View File

@ -0,0 +1,22 @@
using System;
using osu.Framework.Graphics;
using osu.Framework.Graphics.Sprites;
using osu.Framework.Graphics.UserInterface;
namespace osu.Game.Overlays.Options
{
public class VolumeOptions : OptionsSubsection
{
public VolumeOptions()
{
Header = "Volume";
Children = new Drawable[]
{
new SpriteText { Text = "Master: TODO slider" },
new SpriteText { Text = "Music: TODO slider" },
new SpriteText { Text = "Effect: TODO slider" },
new BasicCheckBox { LabelText = "Ignore beatmap hitsounds" }
};
}
}
}

View File

@ -83,6 +83,10 @@ protected override void Load(BaseGame game)
},
new GeneralOptions(storage, api),
new GraphicsOptions(),
new GameplayOptions(),
new AudioOptions(),
new SkinOptions(),
new InputOptions(),
}
}
}

View File

@ -204,9 +204,21 @@
<Compile Include="Graphics\UserInterface\OsuButton.cs" />
<Compile Include="Overlays\Options\RendererOptions.cs" />
<Compile Include="Overlays\Options\LayoutOptions.cs" />
<Compile Include="Overlays\Options\DetailSettings.cs" />
<Compile Include="Overlays\Options\DetailOptions.cs" />
<Compile Include="Overlays\Options\MainMenuOptions.cs" />
<Compile Include="Overlays\Options\SongSelectGraphicsOptions.cs" />
<Compile Include="Overlays\Options\GameplayOptions.cs" />
<Compile Include="Overlays\Options\GeneralGameplayOptions.cs" />
<Compile Include="Overlays\Options\SongSelectGameplayOptions.cs" />
<Compile Include="Overlays\Options\AudioOptions.cs" />
<Compile Include="Overlays\Options\AudioDevicesOptions.cs" />
<Compile Include="Overlays\Options\VolumeOptions.cs" />
<Compile Include="Overlays\Options\OffsetAdjustmentOptions.cs" />
<Compile Include="Overlays\Options\SkinOptions.cs" />
<Compile Include="Overlays\Options\InputOptions.cs" />
<Compile Include="Overlays\Options\MouseOptions.cs" />
<Compile Include="Overlays\Options\KeyboardOptions.cs" />
<Compile Include="Overlays\Options\OtherInputOptions.cs" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="$(SolutionDir)\osu-framework\osu.Framework\osu.Framework.csproj">