Skip to content

Commit fda6ff4

Browse files
authored
Merge pull request #600 from twpol/feature/allocation-enum.parse
fix: Store DirectX feature level as the enum internally for performance
2 parents e8886ed + 8bda67d commit fda6ff4

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

Source/ORTS.Settings/UserSettings.cs

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,7 @@ public enum AntiAliasingMethod
123123

124124
public enum DirectXFeature
125125
{
126+
Level /* Default value which gets replaced with what is supported */,
126127
Level9_1,
127128
Level9_3,
128129
Level10_0,
@@ -356,8 +357,13 @@ public enum DirectXFeature
356357
[Default("")]
357358
public string ScreenshotPath { get; set; }
358359
[Default("")]
359-
public string DirectXFeatureLevel { get; set; }
360-
public bool IsDirectXFeatureLevelIncluded(DirectXFeature level) => (int)level <= (int)Enum.Parse(typeof(DirectXFeature), "Level" + this.DirectXFeatureLevel);
360+
public string DirectXFeatureLevel
361+
{
362+
get => DirectXFeatureEnum.ToString().Replace("Level", "");
363+
set => DirectXFeatureEnum = (DirectXFeature)Enum.Parse(typeof(DirectXFeature), "Level" + value);
364+
}
365+
DirectXFeature DirectXFeatureEnum;
366+
public bool IsDirectXFeatureLevelIncluded(DirectXFeature level) => level <= DirectXFeatureEnum;
361367
[Default(true)]
362368
public bool ShadowMapBlur { get; set; }
363369
[Default(4)]

0 commit comments

Comments
 (0)