Fix IDE0028, IDE0300, IDE0301, IDE0302, IDE0303, IDE0304.

Silence IDE0305.
This commit is contained in:
RoosterDragon
2025-03-03 17:29:45 +00:00
committed by Pavel Penev
parent 0740991c12
commit 79454d8fd2
559 changed files with 1661 additions and 1751 deletions

View File

@@ -87,7 +87,7 @@ namespace OpenRA.Mods.Cnc.Traits
[ActorReference(dictionaryReference: LintDictionaryReference.Keys)]
[Desc("Conditions to grant when disguised as specified actor.",
"A dictionary of [actor id]: [condition].")]
public readonly Dictionary<string, string> DisguisedAsConditions = new();
public readonly Dictionary<string, string> DisguisedAsConditions = [];
[CursorReference]
[Desc("Cursor to display when hovering over a valid actor to disguise as.")]

View File

@@ -42,8 +42,8 @@ namespace OpenRA.Mods.Cnc.Traits
readonly Player owner;
readonly List<Actor> actors = new();
readonly HashSet<TraitPair<IOnGpsRefreshed>> notifyOnRefresh = new();
readonly List<Actor> actors = [];
readonly HashSet<TraitPair<IOnGpsRefreshed>> notifyOnRefresh = [];
public GpsWatcher(Player owner)
{

View File

@@ -32,7 +32,7 @@ namespace OpenRA.Mods.Cnc.Traits
sealed class InfiltrateForDecoration : WithDecoration, INotifyInfiltrated
{
readonly HashSet<Player> infiltrators = new();
readonly HashSet<Player> infiltrators = [];
readonly InfiltrateForDecorationInfo info;
public InfiltrateForDecoration(Actor self, InfiltrateForDecorationInfo info)

View File

@@ -71,10 +71,10 @@ namespace OpenRA.Mods.Cnc.Traits
infiltrator.Owner.PlayerActor.TraitOrDefault<PlayerExperience>()?.GiveExperience(info.PlayerExperience);
infiltrator.World.AddFrameEndTask(w => w.CreateActor(info.Proxy, new TypeDictionary
{
infiltrator.World.AddFrameEndTask(w => w.CreateActor(info.Proxy,
[
new OwnerInit(infiltrator.Owner)
}));
]));
}
}
}

View File

@@ -243,11 +243,11 @@ namespace OpenRA.Mods.Cnc.Traits
void EjectDriver()
{
var driver = self.World.CreateActor(mad.info.DriverActor.ToLowerInvariant(), new TypeDictionary
{
var driver = self.World.CreateActor(mad.info.DriverActor.ToLowerInvariant(),
[
new LocationInit(self.Location),
new OwnerInit(self.Owner)
});
]);
driver.QueueActivity(false, new Nudge(driver));
}
}

View File

@@ -20,7 +20,7 @@ namespace OpenRA.Mods.Cnc.Traits
sealed class LightPaletteRotatorInfo : TraitInfo
{
[Desc("Palettes this effect should not apply to.")]
public readonly HashSet<string> ExcludePalettes = new();
public readonly HashSet<string> ExcludePalettes = [];
[Desc("'Speed' at which the effect cycles through palette indices.")]
public readonly float TimeStep = .5f;
@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Cnc.Traits
public readonly int ModifyIndex = 103;
[Desc("Palette indices to rotate through.")]
public readonly int[] RotationIndices = { 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 238, 237, 236, 235, 234, 233, 232, 231 };
public readonly int[] RotationIndices = [230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 238, 237, 236, 235, 234, 233, 232, 231];
public override object Create(ActorInitializer init) { return new LightPaletteRotator(this); }
}

View File

@@ -52,8 +52,8 @@ namespace OpenRA.Mods.Cnc.Traits.Render
public readonly WAngle LightPitch = WAngle.FromDegrees(50);
public readonly WAngle LightYaw = WAngle.FromDegrees(240);
public readonly float[] LightAmbientColor = { 0.6f, 0.6f, 0.6f };
public readonly float[] LightDiffuseColor = { 0.4f, 0.4f, 0.4f };
public readonly float[] LightAmbientColor = [0.6f, 0.6f, 0.6f];
public readonly float[] LightDiffuseColor = [0.4f, 0.4f, 0.4f];
public override object Create(ActorInitializer init) { return new RenderVoxels(init.Self, this); }
@@ -111,8 +111,8 @@ namespace OpenRA.Mods.Cnc.Traits.Render
public readonly RenderVoxelsInfo Info;
public readonly ModelRenderer Renderer;
readonly List<ModelAnimation> components = new();
readonly Dictionary<ModelAnimation, AnimationWrapper> wrappers = new();
readonly List<ModelAnimation> components = [];
readonly Dictionary<ModelAnimation, AnimationWrapper> wrappers = [];
readonly Actor self;
readonly BodyOrientation body;
@@ -154,13 +154,13 @@ namespace OpenRA.Mods.Cnc.Traits.Render
initializePalettes = false;
}
return new IRenderable[]
{
return
[
new ModelRenderable(
Renderer, components, self.CenterPosition, 0, camera, Info.Scale,
lightSource, Info.LightAmbientColor, Info.LightDiffuseColor,
colorPalette, normalsPalette, shadowPalette)
};
];
}
IEnumerable<Rectangle> IRender.ScreenBounds(Actor self, WorldRenderer wr)

View File

@@ -84,7 +84,7 @@ namespace OpenRA.Mods.Cnc.Traits
readonly WithBuildingBibInfo info;
readonly RenderSprites rs;
readonly BuildingInfo bi;
readonly List<AnimationWithOffset> anims = new();
readonly List<AnimationWithOffset> anims = [];
public WithBuildingBib(Actor self, WithBuildingBibInfo info)
{

View File

@@ -24,10 +24,10 @@ namespace OpenRA.Mods.Cnc.Traits.Render
public class WithCargoInfo : TraitInfo, Requires<CargoInfo>, Requires<BodyOrientationInfo>
{
[Desc("Cargo position relative to turret or body in (forward, right, up) triples. The default offset should be in the middle of the list.")]
public readonly WVec[] LocalOffset = { WVec.Zero };
public readonly WVec[] LocalOffset = [WVec.Zero];
[Desc("Passenger CargoType to display.")]
public readonly HashSet<string> DisplayTypes = new();
public readonly HashSet<string> DisplayTypes = [];
public override object Create(ActorInitializer init) { return new WithCargo(init.Self, this); }
}
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Cnc.Traits.Render
readonly IFacing facing;
WAngle cachedFacing;
readonly Dictionary<Actor, IActorPreview[]> previews = new();
readonly Dictionary<Actor, IActorPreview[]> previews = [];
public WithCargo(Actor self, WithCargoInfo info)
{

View File

@@ -9,7 +9,6 @@
*/
#endregion
using System;
using OpenRA.Mods.Common.Traits;
using OpenRA.Mods.Common.Traits.Render;
using OpenRA.Traits;
@@ -19,7 +18,7 @@ namespace OpenRA.Mods.Cnc.Traits.Render
public class WithHarvesterSpriteBodyInfo : WithFacingSpriteBodyInfo, Requires<HarvesterInfo>
{
[Desc("Images switched between depending on fullness of harvester. Overrides RenderSprites.Image.")]
public readonly string[] ImageByFullness = Array.Empty<string>();
public readonly string[] ImageByFullness = [];
public override object Create(ActorInitializer init) { return new WithHarvesterSpriteBody(init, this); }
}

View File

@@ -19,7 +19,7 @@ namespace OpenRA.Mods.Cnc.Traits.Render
{
public class WithLandingCraftAnimationInfo : TraitInfo, Requires<IMoveInfo>, Requires<WithSpriteBodyInfo>, Requires<CargoInfo>
{
public readonly HashSet<string> OpenTerrainTypes = new() { "Clear" };
public readonly HashSet<string> OpenTerrainTypes = ["Clear"];
[SequenceReference]
public readonly string OpenSequence = "open";

View File

@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Cnc.Traits
public ResourcePurifier(ResourcePurifierInfo info)
: base(info)
{
modifier = new int[] { Info.Modifier };
modifier = [Info.Modifier];
currentDisplayTick = Info.TickRate;
}

View File

@@ -17,7 +17,6 @@ using OpenRA.Mods.Cnc.Effects;
using OpenRA.Mods.Common;
using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Traits;
using OpenRA.Primitives;
using OpenRA.Traits;
namespace OpenRA.Mods.Cnc.Traits
@@ -26,7 +25,7 @@ namespace OpenRA.Mods.Cnc.Traits
{
[FieldLoader.Require]
[Desc("Drop pod unit")]
[ActorReference(new[] { typeof(AircraftInfo), typeof(FallsToEarthInfo) })]
[ActorReference([typeof(AircraftInfo), typeof(FallsToEarthInfo)])]
public readonly string[] UnitTypes = null;
[Desc("Number of drop pods spawned.")]
@@ -82,8 +81,8 @@ namespace OpenRA.Mods.Cnc.Traits
{
readonly DropPodsPowerInfo info;
readonly string[] unitTypes;
readonly Dictionary<string, Func<CPos, WPos>> getLaunchLocation = new();
readonly Dictionary<string, HashSet<string>> landableTerrainTypes = new();
readonly Dictionary<string, Func<CPos, WPos>> getLaunchLocation = [];
readonly Dictionary<string, HashSet<string>> landableTerrainTypes = [];
public DropPodsPower(Actor self, DropPodsPowerInfo info)
: base(self, info)
@@ -134,11 +133,11 @@ namespace OpenRA.Mods.Cnc.Traits
if (info.CameraActor != null)
{
var camera = world.CreateActor(info.CameraActor, new TypeDictionary
{
var camera = world.CreateActor(info.CameraActor,
[
new LocationInit(targetCell),
new OwnerInit(self.Owner),
});
]);
camera.QueueActivity(new Wait(info.CameraRemoveDelay));
camera.QueueActivity(new RemoveSelf());
@@ -166,12 +165,12 @@ namespace OpenRA.Mods.Cnc.Traits
var dropLocation = validDropLocations.Random(world.SharedRandom);
var launchLocation = getLaunchLocation[unitType](dropLocation);
var pod = world.CreateActor(false, unitType, new TypeDictionary
{
var pod = world.CreateActor(false, unitType,
[
new CenterPositionInit(launchLocation),
new OwnerInit(self.Owner),
new FacingInit(info.PodFacing)
});
]);
var aircraft = pod.Trait<Aircraft>();
if (!aircraft.CanLand(dropLocation))

View File

@@ -51,7 +51,7 @@ namespace OpenRA.Mods.Cnc.Traits
: base(self, info)
{
this.info = info;
prerequisites = new[] { info.Prerequisite };
prerequisites = [info.Prerequisite];
}
protected override void Created(Actor self)

View File

@@ -13,7 +13,6 @@ using OpenRA.GameRules;
using OpenRA.Mods.Cnc.Effects;
using OpenRA.Mods.Common.Activities;
using OpenRA.Mods.Common.Traits;
using OpenRA.Primitives;
using OpenRA.Traits;
namespace OpenRA.Mods.Cnc.Traits
@@ -91,11 +90,11 @@ namespace OpenRA.Mods.Cnc.Traits
if (info.CameraActor == null)
return;
var camera = w.CreateActor(info.CameraActor, new TypeDictionary
{
var camera = w.CreateActor(info.CameraActor,
[
new LocationInit(self.World.Map.CellContaining(target.CenterPosition)),
new OwnerInit(self.Owner),
});
]);
camera.QueueActivity(new Wait(info.CameraRemoveDelay));
camera.QueueActivity(new RemoveSelf());

View File

@@ -142,7 +142,7 @@ namespace OpenRA.Mods.Cnc.Traits
int MovementSpeed => Common.Util.ApplyPercentageModifiers(Info.Speed, speedModifiers);
public (CPos, SubCell)[] OccupiedCells() { return new[] { (TopLeft, SubCell.FullCell) }; }
public (CPos, SubCell)[] OccupiedCells() { return [(TopLeft, SubCell.FullCell)]; }
WVec MoveStep(WAngle facing)
{

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Cnc.Traits
public readonly int Adjacency = 1;
[Desc("The range of time (in ticks) until the transformation starts.")]
public readonly int[] Delay = { 1000, 3000 };
public readonly int[] Delay = [1000, 3000];
public override object Create(ActorInitializer init) { return new TransformsNearResources(init.Self, this); }
}

View File

@@ -29,7 +29,7 @@ namespace OpenRA.Mods.Cnc.Traits
readonly IShader shader;
readonly IVertexBuffer<RenderPostProcessPassTexturedVertex> vortexBuffer;
readonly Sheet vortexSheet;
readonly List<(float3, int)> vortices = new();
readonly List<(float3, int)> vortices = [];
public ChronoVortexRenderer(Actor self)
{

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Cnc.Traits
public readonly short JumpjetTransitionCost = 0;
[Desc("The terrain types that this actor can transition on. Leave empty to allow any.")]
public readonly HashSet<string> JumpjetTransitionTerrainTypes = new();
public readonly HashSet<string> JumpjetTransitionTerrainTypes = [];
[Desc("Can this actor transition on slopes?")]
public readonly bool JumpjetTransitionOnRamps = true;

View File

@@ -44,22 +44,22 @@ namespace OpenRA.Mods.Cnc.Traits
public sealed class ModelRenderer : IDisposable, IRenderer, INotifyActorDisposing
{
// Static constants
static readonly float[] ShadowDiffuse = new float[] { 0, 0, 0 };
static readonly float[] ShadowAmbient = new float[] { 1, 1, 1 };
static readonly float[] ShadowDiffuse = [0, 0, 0];
static readonly float[] ShadowAmbient = [1, 1, 1];
static readonly float2 SpritePadding = new(2, 2);
static readonly float[] ZeroVector = new float[] { 0, 0, 0, 1 };
static readonly float[] ZVector = new float[] { 0, 0, 1, 1 };
static readonly float[] ZeroVector = [0, 0, 0, 1];
static readonly float[] ZVector = [0, 0, 1, 1];
static readonly float[] FlipMtx = Util.ScaleMatrix(1, -1, 1);
static readonly float[] ShadowScaleFlipMtx = Util.ScaleMatrix(2, -2, 2);
static readonly float[] GroundNormal = { 0, 0, 1, 1 };
static readonly float[] GroundNormal = [0, 0, 1, 1];
readonly Renderer renderer;
readonly IShader shader;
public readonly IModelCache ModelCache;
readonly Dictionary<Sheet, IFrameBuffer> mappedBuffers = new();
readonly Stack<KeyValuePair<Sheet, IFrameBuffer>> unmappedBuffers = new();
readonly List<(Sheet Sheet, Action Func)> doRender = new();
readonly Dictionary<Sheet, IFrameBuffer> mappedBuffers = [];
readonly Stack<KeyValuePair<Sheet, IFrameBuffer>> unmappedBuffers = [];
readonly List<(Sheet Sheet, Action Func)> doRender = [];
readonly int sheetSize;
SheetBuilder sheetBuilderForFrame;
@@ -156,10 +156,10 @@ namespace OpenRA.Mods.Cnc.Traits
// Corners of the shadow quad, in shadow-space
var corners = new float[][]
{
new[] { stl.X, stl.Y, 0, 1 },
new[] { sbr.X, sbr.Y, 0, 1 },
new[] { sbr.X, stl.Y, 0, 1 },
new[] { stl.X, sbr.Y, 0, 1 }
[stl.X, stl.Y, 0, 1],
[sbr.X, sbr.Y, 0, 1],
[sbr.X, stl.Y, 0, 1],
[stl.X, sbr.Y, 0, 1]
};
var shadowScreenTransform = Util.MatrixMultiply(cameraTransform, invShadowTransform);

View File

@@ -45,25 +45,25 @@ namespace OpenRA.Mods.Cnc.Traits
wr.AddPalette(info.Name, new ImmutablePalette(Enumerable.Range(0, Palette.Size).Select(i => c[i % 8].ToArgb())));
}
static readonly Color[] Fog = new[]
{
static readonly Color[] Fog =
[
Color.FromArgb(0, 0, 0, 0),
Color.Green, Color.Blue, Color.Yellow,
Color.FromArgb(128, 0, 0, 0),
Color.FromArgb(96, 0, 0, 0),
Color.FromArgb(64, 0, 0, 0),
Color.FromArgb(32, 0, 0, 0)
};
];
static readonly Color[] Shroud = new[]
{
static readonly Color[] Shroud =
[
Color.FromArgb(0, 0, 0, 0),
Color.Green, Color.Blue, Color.Yellow,
Color.Black,
Color.FromArgb(160, 0, 0, 0),
Color.FromArgb(128, 0, 0, 0),
Color.FromArgb(64, 0, 0, 0)
};
];
public IEnumerable<string> PaletteNames { get { yield return info.Name; } }
}

View File

@@ -23,7 +23,7 @@ namespace OpenRA.Mods.Cnc.Traits
[ActorReference]
[Desc("Actor types that should be treated as veins for adjacency.")]
public readonly HashSet<string> VeinholeActors = new();
public readonly HashSet<string> VeinholeActors = [];
public override object Create(ActorInitializer init) { return new TSEditorResourceLayer(init.Self, this); }
}

View File

@@ -25,7 +25,7 @@ namespace OpenRA.Mods.Cnc.Traits
[ActorReference]
[Desc("Actor types that should be treated as veins for adjacency.")]
public readonly HashSet<string> VeinholeActors = new();
public readonly HashSet<string> VeinholeActors = [];
public override object Create(ActorInitializer init) { return new TSResourceLayer(init.Self, this); }
}
@@ -33,7 +33,7 @@ namespace OpenRA.Mods.Cnc.Traits
sealed class TSResourceLayer : ResourceLayer, INotifyActorDisposing
{
readonly TSResourceLayerInfo info;
readonly HashSet<CPos> veinholeCells = new();
readonly HashSet<CPos> veinholeCells = [];
public TSResourceLayer(Actor self, TSResourceLayerInfo info)
: base(self, info)

View File

@@ -22,16 +22,16 @@ namespace OpenRA.Mods.Cnc.Traits
public class TSTiberiumRendererInfo : ResourceRendererInfo
{
[Desc("Sequences to use for ramp type 1.", "Dictionary of [resource type]: [list of sequences].")]
public readonly Dictionary<string, string[]> Ramp1Sequences = new();
public readonly Dictionary<string, string[]> Ramp1Sequences = [];
[Desc("Sequences to use for ramp type 2.", "Dictionary of [resource type]: [list of sequences].")]
public readonly Dictionary<string, string[]> Ramp2Sequences = new();
public readonly Dictionary<string, string[]> Ramp2Sequences = [];
[Desc("Sequences to use for ramp type 3.", "Dictionary of [resource type]: [list of sequences].")]
public readonly Dictionary<string, string[]> Ramp3Sequences = new();
public readonly Dictionary<string, string[]> Ramp3Sequences = [];
[Desc("Sequences to use for ramp type 4.", "Dictionary of [resource type]: [list of sequences].")]
public readonly Dictionary<string, string[]> Ramp4Sequences = new();
public readonly Dictionary<string, string[]> Ramp4Sequences = [];
public override object Create(ActorInitializer init) { return new TSTiberiumRenderer(init.Self, this); }
}
@@ -40,10 +40,10 @@ namespace OpenRA.Mods.Cnc.Traits
{
readonly TSTiberiumRendererInfo info;
readonly World world;
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp1Variants = new();
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp2Variants = new();
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp3Variants = new();
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp4Variants = new();
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp1Variants = [];
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp2Variants = [];
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp3Variants = [];
readonly Dictionary<string, Dictionary<string, ISpriteSequence>> ramp4Variants = [];
public TSTiberiumRenderer(Actor self, TSTiberiumRendererInfo info)
: base(self, info)

View File

@@ -45,7 +45,7 @@ namespace OpenRA.Mods.Cnc.Traits
[ActorReference]
[Desc("Actor types that should be treated as veins for adjacency.")]
public readonly HashSet<string> VeinholeActors = new();
public readonly HashSet<string> VeinholeActors = [];
void IMapPreviewSignatureInfo.PopulateMapPreviewSignatureCells(Map map, ActorInfo ai, ActorReference s, List<(MPos Uv, Color Color)> destinationBuffer)
{
@@ -140,21 +140,21 @@ namespace OpenRA.Mods.Cnc.Traits
{ Adjacency.MinusX | Adjacency.PlusX | Adjacency.MinusY | Adjacency.PlusY, new[] { 45, 46, 47 } },
};
static readonly int[] HeavyIndices = { 48, 49, 50, 51 };
static readonly int[] LightIndices = { 52 };
static readonly int[] Ramp1Indices = { 53, 54 };
static readonly int[] Ramp2Indices = { 55, 56 };
static readonly int[] Ramp3Indices = { 57, 58 };
static readonly int[] Ramp4Indices = { 59, 60 };
static readonly int[] HeavyIndices = [48, 49, 50, 51];
static readonly int[] LightIndices = [52];
static readonly int[] Ramp1Indices = [53, 54];
static readonly int[] Ramp2Indices = [55, 56];
static readonly int[] Ramp3Indices = [57, 58];
static readonly int[] Ramp4Indices = [59, 60];
readonly TSVeinsRendererInfo info;
readonly World world;
readonly IResourceLayer resourceLayer;
readonly CellLayer<int[]> renderIndices;
readonly CellLayer<Adjacency> borders;
readonly HashSet<CPos> dirty = new();
readonly Queue<CPos> cleanDirty = new();
readonly HashSet<CPos> veinholeCells = new();
readonly HashSet<CPos> dirty = [];
readonly Queue<CPos> cleanDirty = [];
readonly HashSet<CPos> veinholeCells = [];
readonly int maxDensity;
readonly Color veinRadarColor;

View File

@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Cnc.Traits
public sealed class VoxelCache : IModelCache, INotifyActorDisposing, IDisposable
{
readonly VoxelLoader loader;
readonly Dictionary<string, Dictionary<string, IModel>> models = new();
readonly Dictionary<string, Dictionary<string, IModel>> models = [];
public VoxelCache(VoxelCacheInfo info, Actor self)
{

View File

@@ -61,7 +61,7 @@ namespace OpenRA.Mods.Cnc.Traits
// Normal vector tables from https://web.archive.org/web/20041022134721/https://www.sleipnirstuff.com/forum/viewtopic.php?t=8048
static readonly float[] TSNormals =
{
[
0.671214f, 0.198492f, -0.714194f,
0.269643f, 0.584394f, -0.765360f,
-0.040546f, 0.096988f, -0.994459f,
@@ -98,10 +98,10 @@ namespace OpenRA.Mods.Cnc.Traits
-0.596251f, 0.220132f, 0.772028f,
-0.506455f, -0.396977f, 0.765449f,
0.070569f, -0.478474f, 0.875262f
};
];
static readonly float[] RA2Normals =
{
[
0.526578f, -0.359621f, -0.770317f,
0.150482f, 0.435984f, 0.887284f,
0.414195f, 0.738255f, -0.532374f,
@@ -346,6 +346,6 @@ namespace OpenRA.Mods.Cnc.Traits
-0.328188f, 0.140251f, 0.934143f,
-0.328188f, 0.140251f, 0.934143f,
-0.328188f, 0.140251f, 0.934143f
};
];
}
}

View File

@@ -29,10 +29,10 @@ namespace OpenRA.Mods.Cnc.Traits
public readonly HashSet<string> Types = null;
[Desc("The percentage of resource cells to play the animation on.", "Use two values to randomize between them.")]
public readonly int[] Ratio = { 1, 10 };
public readonly int[] Ratio = [1, 10];
[Desc("Tick interval between two animation spawning.", "Use two values to randomize between them.")]
public readonly int[] Interval = { 200, 500 };
public readonly int[] Interval = [200, 500];
[FieldLoader.Require]
[Desc("Animation image.")]
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.Cnc.Traits
[SequenceReference(nameof(Image))]
[Desc("Randomly select one of these sequences to render.")]
public readonly string[] Sequences = new string[] { "idle" };
public readonly string[] Sequences = ["idle"];
[PaletteReference]
[Desc("Animation palette.")]