Change classes that use FieldLoader to use read-only collections.

This commit is contained in:
RoosterDragon
2025-11-08 12:40:56 +00:00
committed by Paul Chote
parent 797c71e500
commit 649e7e8c28
308 changed files with 1233 additions and 901 deletions

View File

@@ -10,7 +10,7 @@
#endregion
using System;
using System.Collections.Generic;
using System.Collections.Frozen;
using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly int AttackPanicChance = 20;
[Desc("The terrain types that this actor should avoid running on to while panicking.")]
public readonly HashSet<string> AvoidTerrainTypes = [];
public readonly FrozenSet<string> AvoidTerrainTypes = FrozenSet<string>.Empty;
[SequenceReference(prefix: true)]
public readonly string PanicSequencePrefix = "panic-";

View File

@@ -9,7 +9,7 @@
*/
#endregion
using System.Collections.Generic;
using System.Collections.Frozen;
using System.Linq;
using OpenRA.Primitives;
using OpenRA.Traits;
@@ -31,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly BitSet<DamageType> DamageTriggers = default;
[Desc("Damage modifiers for each damage type (defined on the warheads) while the unit is prone.")]
public readonly Dictionary<string, int> DamageModifiers = [];
public readonly FrozenDictionary<string, int> DamageModifiers = FrozenDictionary<string, int>.Empty;
[Desc("Muzzle offset modifier to apply while prone.")]
public readonly WVec ProneOffset = new(500, 0, 0);

View File

@@ -9,7 +9,7 @@
*/
#endregion
using System.Collections.Generic;
using System.Collections.Frozen;
using OpenRA.Traits;
namespace OpenRA.Mods.Common.Traits
@@ -18,7 +18,7 @@ namespace OpenRA.Mods.Common.Traits
{
[FieldLoader.Require]
[Desc("Damage percentage for specific terrain types. 120 = 120%, 80 = 80%, etc.")]
public readonly Dictionary<string, int> TerrainModifier = null;
public readonly FrozenDictionary<string, int> TerrainModifier = null;
[Desc("Modify healing damage? For example: A friendly medic.")]
public readonly bool ModifyHealing = false;