Add VariableExpression.NoVariables
This commit is contained in:
@@ -20,6 +20,8 @@ namespace OpenRA.Support
|
|||||||
{
|
{
|
||||||
public abstract class VariableExpression
|
public abstract class VariableExpression
|
||||||
{
|
{
|
||||||
|
public static readonly IReadOnlyDictionary<string, int> NoVariables = new ReadOnlyDictionary<string, int>(new Dictionary<string, int>());
|
||||||
|
|
||||||
public readonly string Expression;
|
public readonly string Expression;
|
||||||
readonly HashSet<string> variables = new HashSet<string>();
|
readonly HashSet<string> variables = new HashSet<string>();
|
||||||
public IEnumerable<string> Variables { get { return variables; } }
|
public IEnumerable<string> Variables { get { return variables; } }
|
||||||
|
|||||||
@@ -18,8 +18,6 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
/// <summary>Use as base class for *Info to subclass of ConditionalTrait. (See ConditionalTrait.)</summary>
|
/// <summary>Use as base class for *Info to subclass of ConditionalTrait. (See ConditionalTrait.)</summary>
|
||||||
public abstract class ConditionalTraitInfo : IObservesVariablesInfo, IRulesetLoaded
|
public abstract class ConditionalTraitInfo : IObservesVariablesInfo, IRulesetLoaded
|
||||||
{
|
{
|
||||||
protected static readonly IReadOnlyDictionary<string, int> NoConditions = new ReadOnlyDictionary<string, int>(new Dictionary<string, int>());
|
|
||||||
|
|
||||||
[ConsumedConditionReference]
|
[ConsumedConditionReference]
|
||||||
[Desc("Boolean expression defining the condition to enable this trait.")]
|
[Desc("Boolean expression defining the condition to enable this trait.")]
|
||||||
public readonly BooleanExpression RequiresCondition = null;
|
public readonly BooleanExpression RequiresCondition = null;
|
||||||
@@ -33,7 +31,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
|
|
||||||
public virtual void RulesetLoaded(Ruleset rules, ActorInfo ai)
|
public virtual void RulesetLoaded(Ruleset rules, ActorInfo ai)
|
||||||
{
|
{
|
||||||
EnabledByDefault = RequiresCondition == null || RequiresCondition.Evaluate(NoConditions);
|
EnabledByDefault = RequiresCondition == null || RequiresCondition.Evaluate(VariableExpression.NoVariables);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ namespace OpenRA.Mods.Common.Traits
|
|||||||
public override void RulesetLoaded(Ruleset rules, ActorInfo ai)
|
public override void RulesetLoaded(Ruleset rules, ActorInfo ai)
|
||||||
{
|
{
|
||||||
base.RulesetLoaded(rules, ai);
|
base.RulesetLoaded(rules, ai);
|
||||||
PausedByDefault = PauseOnCondition != null && PauseOnCondition.Evaluate(NoConditions);
|
PausedByDefault = PauseOnCondition != null && PauseOnCondition.Evaluate(VariableExpression.NoVariables);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user