Update LangVersion to C# 12.

Now that we have moved to net 8 from net 6, and with us no longer supporting the mono runtime, we can raise the C# version to match that supported by the net 8 runtime.

This unlocks C# 10, C# 11 and C# 12 features previously unavailable to us.
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-10
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-11
- https://learn.microsoft.com/en-us/dotnet/csharp/whats-new/csharp-version-history#c-version-12

A newer version of StyleCop is required to avoid rules tripping up on the new syntax.

Enable a handful of style rules that don't have many violations.
This commit is contained in:
RoosterDragon
2024-11-25 20:23:37 +00:00
committed by Gustas Kažukauskas
parent 39a7e477c6
commit 715d882456
12 changed files with 45 additions and 40 deletions

View File

@@ -12,6 +12,7 @@
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;
using System.Linq;
using System.Text;
using OpenRA.Mods.Common.Traits;
@@ -237,7 +238,7 @@ namespace OpenRA.Mods.Common.UtilityCommands
var descriptionBuilder = new StringBuilder();
foreach (var variable in config.Variables)
descriptionBuilder.Append($" {variable}={iterationChoices[variable]}\n");
descriptionBuilder.Append(CultureInfo.InvariantCulture, $" {variable}={iterationChoices[variable]}\n");
if (!config.NoDefaults)
descriptionBuilder.Append(" (+Defaults)\n");

View File

@@ -157,8 +157,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
{
Game.LoadWidget(world, "LOBBY_OPTIONS_PANEL", optionsPanelContainer, new WidgetArgs()
{
{ "getMap", (Func<MapPreview>)(() => modData.MapCache[world.Map.Uid]) },
{ "configurationDisabled", (Func<bool>)(() => true) }
{ "getMap", () => modData.MapCache[world.Map.Uid] },
{ "configurationDisabled", () => true }
});
}

View File

@@ -189,8 +189,8 @@ namespace OpenRA.Mods.Common.Widgets.Logic
"onMouseDown", (Action<MapPreviewWidget, MapPreview, MouseInput>)((preview, mapPreview, mi) =>
LobbyUtils.SelectSpawnPoint(orderManager, preview, mapPreview, mi))
},
{ "getSpawnOccupants", (Func<Dictionary<int, SpawnOccupant>>)(() => spawnOccupants) },
{ "getDisabledSpawnPoints", (Func<HashSet<int>>)(() => orderManager.LobbyInfo.DisabledSpawnPoints) },
{ "getSpawnOccupants", () => spawnOccupants },
{ "getDisabledSpawnPoints", () => orderManager.LobbyInfo.DisabledSpawnPoints },
{ "showUnoccupiedSpawnpoints", true },
{ "mapUpdatesEnabled", true },
{
@@ -370,7 +370,7 @@ namespace OpenRA.Mods.Common.Widgets.Logic
var optionsBin = Ui.LoadWidget("LOBBY_OPTIONS_BIN", lobby.Get("TOP_PANELS_ROOT"), new WidgetArgs()
{
{ "orderManager", orderManager },
{ "getMap", (Func<MapPreview>)(() => map) },
{ "getMap", () => map },
{ "configurationDisabled", configurationDisabled }
});