From fc33bf4761b8f0dde049a1bf3a604f9bc2d5a494 Mon Sep 17 00:00:00 2001 From: smoogipooo Date: Mon, 27 Feb 2017 23:09:26 +0900 Subject: [PATCH] Add drawings config. --- .../Components/DrawingsConfigManager.cs | 34 +++++++++++++++++++ osu.Game/Screens/Tournament/Drawings.cs | 6 +++- .../Screens/Tournament/GroupsContainer.cs | 8 +++-- osu.Game/osu.Game.csproj | 1 + 4 files changed, 46 insertions(+), 3 deletions(-) create mode 100644 osu.Game/Screens/Tournament/Components/DrawingsConfigManager.cs diff --git a/osu.Game/Screens/Tournament/Components/DrawingsConfigManager.cs b/osu.Game/Screens/Tournament/Components/DrawingsConfigManager.cs new file mode 100644 index 0000000000..468afff26c --- /dev/null +++ b/osu.Game/Screens/Tournament/Components/DrawingsConfigManager.cs @@ -0,0 +1,34 @@ +using osu.Framework.Configuration; +using osu.Framework.Platform; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace osu.Game.Screens.Tournament.Components +{ + public class DrawingsConfigManager : ConfigManager + { + public override string Filename => @"drawings.ini"; + + protected override void InitialiseDefaults() + { +#pragma warning disable CS0612 // Type or member is obsolete + Set(DrawingsConfig.Groups, 8, 1, 8); + Set(DrawingsConfig.TeamsPerGroup, 8, 1, 8); +#pragma warning restore CS0612 // Type or member is obsolete + } + + public DrawingsConfigManager(Storage storage) + : base(storage) + { + } + } + + public enum DrawingsConfig + { + Groups, + TeamsPerGroup + } +} diff --git a/osu.Game/Screens/Tournament/Drawings.cs b/osu.Game/Screens/Tournament/Drawings.cs index 5224faa58b..f41003c2b3 100644 --- a/osu.Game/Screens/Tournament/Drawings.cs +++ b/osu.Game/Screens/Tournament/Drawings.cs @@ -28,6 +28,8 @@ namespace osu.Game.Screens.Tournament private ScrollingTeamContainer teamsContainer; private GroupsContainer groupsContainer; + private DrawingsConfigManager drawingsConfig; + public Drawings() { } @@ -35,6 +37,8 @@ namespace osu.Game.Screens.Tournament [BackgroundDependencyLoader] private void load(Framework.Game game) { + drawingsConfig = new DrawingsConfigManager(Game.Host.Storage); + Container visualiserContainer; SpriteText st; @@ -67,7 +71,7 @@ namespace osu.Game.Screens.Tournament Colour = new Color4(255, 204, 34, 255) }, // Groups - groupsContainer = new GroupsContainer(8) + groupsContainer = new GroupsContainer(drawingsConfig.Get(DrawingsConfig.Groups), drawingsConfig.Get(DrawingsConfig.TeamsPerGroup)) { Anchor = Anchor.TopCentre, Origin = Anchor.TopCentre, diff --git a/osu.Game/Screens/Tournament/GroupsContainer.cs b/osu.Game/Screens/Tournament/GroupsContainer.cs index cfe21f6063..5aef4134df 100644 --- a/osu.Game/Screens/Tournament/GroupsContainer.cs +++ b/osu.Game/Screens/Tournament/GroupsContainer.cs @@ -16,8 +16,12 @@ namespace osu.Game.Screens.Tournament private List allGroups = new List(); - public GroupsContainer(int numGroups) + private int maxTeams; + + public GroupsContainer(int numGroups, int teamsPerGroup) { + maxTeams = teamsPerGroup; + char nextGroupName = 'A'; Children = new[] @@ -60,7 +64,7 @@ namespace osu.Game.Screens.Tournament { for (int i = 0; i < allGroups.Count; i++) { - if (allGroups[i].TeamsCount == 8) + if (allGroups[i].TeamsCount == maxTeams) continue; allGroups[i].AddTeam(team); diff --git a/osu.Game/osu.Game.csproj b/osu.Game/osu.Game.csproj index f17a7a41b6..4f3fdc8dd6 100644 --- a/osu.Game/osu.Game.csproj +++ b/osu.Game/osu.Game.csproj @@ -209,6 +209,7 @@ +