mirror of
https://github.com/osukey/osukey.git
synced 2025-07-03 01:09:57 +09:00
Refactor skin configuration to be infinitely extensible
This commit is contained in:
@ -14,47 +14,31 @@ namespace osu.Game.Skinning
|
||||
|
||||
protected override void ParseLine(DefaultSkinConfiguration skin, Section section, string line)
|
||||
{
|
||||
line = StripComments(line);
|
||||
|
||||
var pair = SplitKeyVal(line);
|
||||
|
||||
switch (section)
|
||||
if (section != Section.Colours)
|
||||
{
|
||||
case Section.General:
|
||||
switch (pair.Key)
|
||||
{
|
||||
case @"Name":
|
||||
skin.SkinInfo.Name = pair.Value;
|
||||
break;
|
||||
line = StripComments(line);
|
||||
|
||||
case @"Author":
|
||||
skin.SkinInfo.Creator = pair.Value;
|
||||
break;
|
||||
var pair = SplitKeyVal(line);
|
||||
|
||||
case @"CursorExpand":
|
||||
skin.CursorExpand = pair.Value != "0";
|
||||
break;
|
||||
switch (section)
|
||||
{
|
||||
case Section.General:
|
||||
switch (pair.Key)
|
||||
{
|
||||
case @"Name":
|
||||
skin.SkinInfo.Name = pair.Value;
|
||||
return;
|
||||
|
||||
case @"SliderBorderSize":
|
||||
skin.SliderBorderSize = Parsing.ParseFloat(pair.Value);
|
||||
break;
|
||||
}
|
||||
case @"Author":
|
||||
skin.SkinInfo.Creator = pair.Value;
|
||||
return;
|
||||
}
|
||||
|
||||
break;
|
||||
break;
|
||||
}
|
||||
|
||||
case Section.Fonts:
|
||||
switch (pair.Key)
|
||||
{
|
||||
case "HitCirclePrefix":
|
||||
skin.HitCircleFont = pair.Value;
|
||||
break;
|
||||
|
||||
case "HitCircleOverlap":
|
||||
skin.HitCircleOverlap = int.Parse(pair.Value);
|
||||
break;
|
||||
}
|
||||
|
||||
break;
|
||||
if (!string.IsNullOrEmpty(pair.Key))
|
||||
skin.ConfigDictionary[$"{section}/{pair.Key}"] = pair.Value;
|
||||
}
|
||||
|
||||
base.ParseLine(skin, section, line);
|
||||
|
Reference in New Issue
Block a user