diff --git a/OpenRA.Game/Support/VariableExpression.cs b/OpenRA.Game/Support/VariableExpression.cs index adb36fc2c4..3e35251a9a 100644 --- a/OpenRA.Game/Support/VariableExpression.cs +++ b/OpenRA.Game/Support/VariableExpression.cs @@ -20,6 +20,8 @@ namespace OpenRA.Support { public abstract class VariableExpression { + public static readonly IReadOnlyDictionary NoVariables = new ReadOnlyDictionary(new Dictionary()); + public readonly string Expression; readonly HashSet variables = new HashSet(); public IEnumerable Variables { get { return variables; } } diff --git a/OpenRA.Mods.Common/Traits/Conditions/ConditionalTrait.cs b/OpenRA.Mods.Common/Traits/Conditions/ConditionalTrait.cs index 46d4cf30dc..470c380d43 100644 --- a/OpenRA.Mods.Common/Traits/Conditions/ConditionalTrait.cs +++ b/OpenRA.Mods.Common/Traits/Conditions/ConditionalTrait.cs @@ -18,8 +18,6 @@ namespace OpenRA.Mods.Common.Traits /// Use as base class for *Info to subclass of ConditionalTrait. (See ConditionalTrait.) public abstract class ConditionalTraitInfo : IObservesVariablesInfo, IRulesetLoaded { - protected static readonly IReadOnlyDictionary NoConditions = new ReadOnlyDictionary(new Dictionary()); - [ConsumedConditionReference] [Desc("Boolean expression defining the condition to enable this trait.")] public readonly BooleanExpression RequiresCondition = null; @@ -33,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits public virtual void RulesetLoaded(Ruleset rules, ActorInfo ai) { - EnabledByDefault = RequiresCondition == null || RequiresCondition.Evaluate(NoConditions); + EnabledByDefault = RequiresCondition == null || RequiresCondition.Evaluate(VariableExpression.NoVariables); } } diff --git a/OpenRA.Mods.Common/Traits/Conditions/PausableConditionalTrait.cs b/OpenRA.Mods.Common/Traits/Conditions/PausableConditionalTrait.cs index d6203e3a30..08f43dd17e 100644 --- a/OpenRA.Mods.Common/Traits/Conditions/PausableConditionalTrait.cs +++ b/OpenRA.Mods.Common/Traits/Conditions/PausableConditionalTrait.cs @@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Traits public override void RulesetLoaded(Ruleset rules, ActorInfo ai) { base.RulesetLoaded(rules, ai); - PausedByDefault = PauseOnCondition != null && PauseOnCondition.Evaluate(NoConditions); + PausedByDefault = PauseOnCondition != null && PauseOnCondition.Evaluate(VariableExpression.NoVariables); } }