mirror of
https://github.com/ppy/osu.git
synced 2024-12-13 05:22:54 +08:00
Use generic Enum methods
This commit is contained in:
parent
2470991aaa
commit
c7ca4bbba5
@ -32,7 +32,7 @@ namespace osu.Game.Rulesets.Catch.Skinning.Legacy
|
||||
[BackgroundDependencyLoader]
|
||||
private void load(ISkinSource skin)
|
||||
{
|
||||
foreach (var state in Enum.GetValues(typeof(CatcherAnimationState)).Cast<CatcherAnimationState>())
|
||||
foreach (var state in Enum.GetValues<CatcherAnimationState>())
|
||||
{
|
||||
AddInternal(drawables[state] = getDrawableFor(state).With(d =>
|
||||
{
|
||||
|
@ -67,7 +67,7 @@ namespace osu.Game.Rulesets.Osu.UI
|
||||
HitPolicy = new StartTimeOrderedHitPolicy();
|
||||
|
||||
var hitWindows = new OsuHitWindows();
|
||||
foreach (var result in Enum.GetValues(typeof(HitResult)).OfType<HitResult>().Where(r => r > HitResult.None && hitWindows.IsHitResultAllowed(r)))
|
||||
foreach (var result in Enum.GetValues<HitResult>().Where(r => r > HitResult.None && hitWindows.IsHitResultAllowed(r)))
|
||||
poolDictionary.Add(result, new DrawableJudgementPool(result, onJudgementLoaded));
|
||||
|
||||
AddRangeInternal(poolDictionary.Values);
|
||||
|
@ -190,7 +190,7 @@ namespace osu.Game.Rulesets.Taiko.UI
|
||||
|
||||
var hitWindows = new TaikoHitWindows();
|
||||
|
||||
foreach (var result in Enum.GetValues(typeof(HitResult)).OfType<HitResult>().Where(r => hitWindows.IsHitResultAllowed(r)))
|
||||
foreach (var result in Enum.GetValues<HitResult>().Where(r => hitWindows.IsHitResultAllowed(r)))
|
||||
{
|
||||
judgementPools.Add(result, new DrawablePool<DrawableTaikoJudgement>(15));
|
||||
explosionPools.Add(result, new HitExplosionPool(result));
|
||||
|
@ -60,6 +60,6 @@ namespace osu.Game.Tests.Mods
|
||||
/// This local helper is used rather than <see cref="Ruleset.CreateAllMods"/>, because the aforementioned method flattens multi mods.
|
||||
/// </remarks>>
|
||||
private static IEnumerable<MultiMod> getMultiMods(Ruleset ruleset)
|
||||
=> Enum.GetValues(typeof(ModType)).Cast<ModType>().SelectMany(ruleset.GetModsFor).OfType<MultiMod>();
|
||||
=> Enum.GetValues<ModType>().SelectMany(ruleset.GetModsFor).OfType<MultiMod>();
|
||||
}
|
||||
}
|
||||
|
@ -127,7 +127,7 @@ namespace osu.Game.Tournament.IPC
|
||||
using (var stream = IPCStorage.GetStream(file_ipc_state_filename))
|
||||
using (var sr = new StreamReader(stream))
|
||||
{
|
||||
State.Value = (TourneyState)Enum.Parse(typeof(TourneyState), sr.ReadLine().AsNonNull());
|
||||
State.Value = Enum.Parse<TourneyState>(sr.ReadLine().AsNonNull());
|
||||
}
|
||||
}
|
||||
catch (Exception)
|
||||
|
@ -43,7 +43,7 @@ namespace osu.Game.Tournament.Screens.Editors
|
||||
{
|
||||
var countries = new List<TournamentTeam>();
|
||||
|
||||
foreach (var country in Enum.GetValues(typeof(CountryCode)).Cast<CountryCode>().Skip(1))
|
||||
foreach (var country in Enum.GetValues<CountryCode>().Skip(1))
|
||||
{
|
||||
countries.Add(new TournamentTeam
|
||||
{
|
||||
|
@ -160,7 +160,7 @@ namespace osu.Game.Beatmaps.Formats
|
||||
break;
|
||||
|
||||
case @"SampleSet":
|
||||
defaultSampleBank = (LegacySampleBank)Enum.Parse(typeof(LegacySampleBank), pair.Value);
|
||||
defaultSampleBank = Enum.Parse<LegacySampleBank>(pair.Value);
|
||||
break;
|
||||
|
||||
case @"SampleVolume":
|
||||
@ -218,7 +218,7 @@ namespace osu.Game.Beatmaps.Formats
|
||||
break;
|
||||
|
||||
case @"Countdown":
|
||||
beatmap.BeatmapInfo.Countdown = (CountdownType)Enum.Parse(typeof(CountdownType), pair.Value);
|
||||
beatmap.BeatmapInfo.Countdown = Enum.Parse<CountdownType>(tpair.Value);
|
||||
break;
|
||||
|
||||
case @"CountdownOffset":
|
||||
|
@ -301,11 +301,11 @@ namespace osu.Game.Beatmaps.Formats
|
||||
}
|
||||
}
|
||||
|
||||
private string parseLayer(string value) => Enum.Parse(typeof(LegacyStoryLayer), value).ToString();
|
||||
private string parseLayer(string value) => Enum.Parse<LegacyStoryLayer>(value).ToString();
|
||||
|
||||
private Anchor parseOrigin(string value)
|
||||
{
|
||||
var origin = (LegacyOrigins)Enum.Parse(typeof(LegacyOrigins), value);
|
||||
var origin = Enum.Parse<LegacyOrigins>(value);
|
||||
|
||||
switch (origin)
|
||||
{
|
||||
@ -343,8 +343,8 @@ namespace osu.Game.Beatmaps.Formats
|
||||
|
||||
private AnimationLoopType parseAnimationLoopType(string value)
|
||||
{
|
||||
var parsed = (AnimationLoopType)Enum.Parse(typeof(AnimationLoopType), value);
|
||||
return Enum.IsDefined(typeof(AnimationLoopType), parsed) ? parsed : AnimationLoopType.LoopForever;
|
||||
var parsed = Enum.Parse<AnimationLoopType>(value);
|
||||
return Enum.IsDefined<AnimationLoopType>(parsed) ? parsed : AnimationLoopType.LoopForever;
|
||||
}
|
||||
|
||||
private void handleVariables(string line)
|
||||
|
@ -12,7 +12,7 @@ namespace osu.Game.Graphics.UserInterface
|
||||
{
|
||||
public OsuEnumDropdown()
|
||||
{
|
||||
Items = (T[])Enum.GetValues(typeof(T));
|
||||
Items = Enum.GetValues<T>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,7 +21,7 @@ namespace osu.Game.Online.API.Requests.Responses
|
||||
[JsonProperty]
|
||||
private string type
|
||||
{
|
||||
set => Type = (RecentActivityType)Enum.Parse(typeof(RecentActivityType), value.ToPascalCase());
|
||||
set => Type = Enum.Parse<RecentActivityType>(value.ToPascalCase());
|
||||
}
|
||||
|
||||
public RecentActivityType Type;
|
||||
@ -29,7 +29,7 @@ namespace osu.Game.Online.API.Requests.Responses
|
||||
[JsonProperty]
|
||||
private string scoreRank
|
||||
{
|
||||
set => ScoreRank = (ScoreRank)Enum.Parse(typeof(ScoreRank), value);
|
||||
set => ScoreRank = Enum.Parse<ScoreRank>(value);
|
||||
}
|
||||
|
||||
public ScoreRank ScoreRank;
|
||||
|
@ -185,7 +185,7 @@ namespace osu.Game.Online.API.Requests.Responses
|
||||
[JsonProperty(@"playstyle")]
|
||||
private string[] playStyle
|
||||
{
|
||||
set => PlayStyles = value?.Select(str => Enum.Parse(typeof(APIPlayStyle), str, true)).Cast<APIPlayStyle>().ToArray();
|
||||
set => PlayStyles = value?.Select(str => Enum.Parse<APIPlayStyle>(str, true)).Cast<APIPlayStyle>().ToArray();
|
||||
}
|
||||
|
||||
public APIPlayStyle[] PlayStyles;
|
||||
|
@ -726,7 +726,7 @@ namespace osu.Game
|
||||
{
|
||||
base.LoadComplete();
|
||||
|
||||
var languages = Enum.GetValues(typeof(Language)).OfType<Language>();
|
||||
var languages = Enum.GetValues<Language>();
|
||||
|
||||
var mappings = languages.Select(language =>
|
||||
{
|
||||
|
@ -607,7 +607,7 @@ namespace osu.Game
|
||||
|
||||
try
|
||||
{
|
||||
foreach (ModType type in Enum.GetValues(typeof(ModType)))
|
||||
foreach (ModType type in Enum.GetValues<ModType>())
|
||||
{
|
||||
dict[type] = instance.GetModsFor(type)
|
||||
// Rulesets should never return null mods, but let's be defensive just in case.
|
||||
|
@ -79,8 +79,7 @@ namespace osu.Game.Overlays.FirstRunSetup
|
||||
Direction = FillDirection.Full;
|
||||
Spacing = new Vector2(5);
|
||||
|
||||
ChildrenEnumerable = Enum.GetValues(typeof(Language))
|
||||
.Cast<Language>()
|
||||
ChildrenEnumerable = Enum.GetValues<Language>()
|
||||
.Select(l => new LanguageButton(l)
|
||||
{
|
||||
Action = () => frameworkLocale.Value = l.ToCultureCode()
|
||||
|
@ -85,7 +85,7 @@ namespace osu.Game.Rulesets
|
||||
/// This comes with considerable allocation overhead. If only accessing for reference purposes (ie. not changing bindables / settings)
|
||||
/// use <see cref="AllMods"/> instead.
|
||||
/// </remarks>
|
||||
public IEnumerable<Mod> CreateAllMods() => Enum.GetValues(typeof(ModType)).Cast<ModType>()
|
||||
public IEnumerable<Mod> CreateAllMods() => Enum.GetValues<ModType>()
|
||||
// Confine all mods of each mod type into a single IEnumerable<Mod>
|
||||
.SelectMany(GetModsFor)
|
||||
// Filter out all null mods
|
||||
|
@ -264,7 +264,7 @@ namespace osu.Game.Rulesets.Scoring
|
||||
/// <summary>
|
||||
/// An array of all scorable <see cref="HitResult"/>s.
|
||||
/// </summary>
|
||||
public static readonly HitResult[] ALL_TYPES = ((HitResult[])Enum.GetValues(typeof(HitResult))).Except(new[] { HitResult.LegacyComboIncrease }).ToArray();
|
||||
public static readonly HitResult[] ALL_TYPES = Enum.GetValues<HitResult>().Except(new[] { HitResult.LegacyComboIncrease }).ToArray();
|
||||
|
||||
/// <summary>
|
||||
/// Whether a <see cref="HitResult"/> is valid within a given <see cref="HitResult"/> range.
|
||||
|
@ -55,7 +55,7 @@ namespace osu.Game.Screens.Edit.Setup
|
||||
{
|
||||
Label = EditorSetupStrings.CountdownSpeed,
|
||||
Current = { Value = Beatmap.BeatmapInfo.Countdown != CountdownType.None ? Beatmap.BeatmapInfo.Countdown : CountdownType.Normal },
|
||||
Items = Enum.GetValues(typeof(CountdownType)).Cast<CountdownType>().Where(type => type != CountdownType.None)
|
||||
Items = Enum.GetValues<CountdownType>().Where(type => type != CountdownType.None)
|
||||
},
|
||||
CountdownOffset = new LabelledNumberBox
|
||||
{
|
||||
|
@ -237,7 +237,7 @@ namespace osu.Game.Screens.Utility
|
||||
switch (e.Key)
|
||||
{
|
||||
case Key.Space:
|
||||
int availableModes = Enum.GetValues(typeof(LatencyVisualMode)).Length;
|
||||
int availableModes = Enum.GetValues<LatencyVisualMode>().Length;
|
||||
VisualMode.Value = (LatencyVisualMode)(((int)VisualMode.Value + 1) % availableModes);
|
||||
return true;
|
||||
|
||||
|
@ -115,7 +115,7 @@ namespace osu.Game.Skinning.Components
|
||||
.Cast<object?>()
|
||||
.ToArray();
|
||||
|
||||
foreach (var type in Enum.GetValues(typeof(BeatmapAttribute)).Cast<BeatmapAttribute>())
|
||||
foreach (var type in Enum.GetValues<BeatmapAttribute>())
|
||||
{
|
||||
numberedTemplate = numberedTemplate.Replace($"{{{{{type}}}}}", $"{{{1 + (int)type}}}");
|
||||
}
|
||||
|
@ -97,7 +97,7 @@ namespace osu.Game.Skinning
|
||||
Configuration = new SkinConfiguration();
|
||||
|
||||
// skininfo files may be null for default skin.
|
||||
foreach (GlobalSkinComponentLookup.LookupType skinnableTarget in Enum.GetValues(typeof(GlobalSkinComponentLookup.LookupType)))
|
||||
foreach (GlobalSkinComponentLookup.LookupType skinnableTarget in Enum.GetValues<GlobalSkinComponentLookup.LookupType>())
|
||||
{
|
||||
string filename = $"{skinnableTarget}.json";
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user