Rename UpgradeManager to ConditionManager.
This commit is contained in:
@@ -25,9 +25,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
|
||||
[Desc("Attach this to a unit to enable dynamic upgrades by warheads, experience, crates, support powers, etc.")]
|
||||
public class UpgradeManagerInfo : TraitInfo<UpgradeManager>, Requires<IConditionConsumerInfo> { }
|
||||
public class ConditionManagerInfo : TraitInfo<ConditionManager>, Requires<IConditionConsumerInfo> { }
|
||||
|
||||
public class UpgradeManager : INotifyCreated, ITick
|
||||
public class ConditionManager : INotifyCreated, ITick
|
||||
{
|
||||
/// <summary>Value used to represent an invalid token.</summary>
|
||||
public static readonly int InvalidConditionToken = -1;
|
||||
@@ -26,28 +26,28 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
class GrantCondition : UpgradableTrait<GrantConditionInfo>
|
||||
{
|
||||
UpgradeManager manager;
|
||||
int conditionToken = UpgradeManager.InvalidConditionToken;
|
||||
ConditionManager manager;
|
||||
int conditionToken = ConditionManager.InvalidConditionToken;
|
||||
|
||||
public GrantCondition(GrantConditionInfo info)
|
||||
: base(info) { }
|
||||
|
||||
protected override void Created(Actor self)
|
||||
{
|
||||
manager = self.Trait<UpgradeManager>();
|
||||
manager = self.Trait<ConditionManager>();
|
||||
|
||||
base.Created(self);
|
||||
}
|
||||
|
||||
protected override void TraitEnabled(Actor self)
|
||||
{
|
||||
if (conditionToken == UpgradeManager.InvalidConditionToken)
|
||||
if (conditionToken == ConditionManager.InvalidConditionToken)
|
||||
conditionToken = manager.GrantCondition(self, Info.Condition);
|
||||
}
|
||||
|
||||
protected override void TraitDisabled(Actor self)
|
||||
{
|
||||
if (conditionToken == UpgradeManager.InvalidConditionToken)
|
||||
if (conditionToken == ConditionManager.InvalidConditionToken)
|
||||
return;
|
||||
|
||||
conditionToken = manager.RevokeCondition(self, conditionToken);
|
||||
|
||||
@@ -41,8 +41,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
readonly GrantConditionOnDamageStateInfo info;
|
||||
readonly Health health;
|
||||
|
||||
UpgradeManager manager;
|
||||
int conditionToken = UpgradeManager.InvalidConditionToken;
|
||||
ConditionManager manager;
|
||||
int conditionToken = ConditionManager.InvalidConditionToken;
|
||||
|
||||
public GrantConditionOnDamageState(Actor self, GrantConditionOnDamageStateInfo info)
|
||||
{
|
||||
@@ -52,13 +52,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void INotifyCreated.Created(Actor self)
|
||||
{
|
||||
manager = self.TraitOrDefault<UpgradeManager>();
|
||||
manager = self.TraitOrDefault<ConditionManager>();
|
||||
GrantUpgradeOnValidDamageState(self, health.DamageState);
|
||||
}
|
||||
|
||||
void GrantUpgradeOnValidDamageState(Actor self, DamageState state)
|
||||
{
|
||||
if (!info.ValidDamageStates.HasFlag(state) || conditionToken != UpgradeManager.InvalidConditionToken)
|
||||
if (!info.ValidDamageStates.HasFlag(state) || conditionToken != ConditionManager.InvalidConditionToken)
|
||||
return;
|
||||
|
||||
conditionToken = manager.GrantCondition(self, info.Condition);
|
||||
@@ -69,7 +69,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void INotifyDamageStateChanged.DamageStateChanged(Actor self, AttackInfo e)
|
||||
{
|
||||
var granted = conditionToken != UpgradeManager.InvalidConditionToken;
|
||||
var granted = conditionToken != ConditionManager.InvalidConditionToken;
|
||||
if ((granted && info.GrantPermanently) || manager == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -72,9 +72,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
readonly Lazy<WithSpriteBody> body;
|
||||
|
||||
DeployState deployState;
|
||||
UpgradeManager manager;
|
||||
int deployedToken = UpgradeManager.InvalidConditionToken;
|
||||
int undeployedToken = UpgradeManager.InvalidConditionToken;
|
||||
ConditionManager manager;
|
||||
int deployedToken = ConditionManager.InvalidConditionToken;
|
||||
int undeployedToken = ConditionManager.InvalidConditionToken;
|
||||
|
||||
public GrantConditionOnDeploy(ActorInitializer init, GrantConditionOnDeployInfo info)
|
||||
{
|
||||
@@ -89,7 +89,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
public void Created(Actor self)
|
||||
{
|
||||
manager = self.TraitOrDefault<UpgradeManager>();
|
||||
manager = self.TraitOrDefault<ConditionManager>();
|
||||
|
||||
switch (deployState)
|
||||
{
|
||||
@@ -243,7 +243,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void OnDeployStarted()
|
||||
{
|
||||
if (undeployedToken != UpgradeManager.InvalidConditionToken)
|
||||
if (undeployedToken != ConditionManager.InvalidConditionToken)
|
||||
undeployedToken = manager.RevokeCondition(self, undeployedToken);
|
||||
|
||||
deployState = DeployState.Deploying;
|
||||
@@ -251,7 +251,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void OnDeployCompleted()
|
||||
{
|
||||
if (manager != null && !string.IsNullOrEmpty(info.DeployedCondition) && deployedToken == UpgradeManager.InvalidConditionToken)
|
||||
if (manager != null && !string.IsNullOrEmpty(info.DeployedCondition) && deployedToken == ConditionManager.InvalidConditionToken)
|
||||
deployedToken = manager.GrantCondition(self, info.DeployedCondition);
|
||||
|
||||
deployState = DeployState.Deployed;
|
||||
@@ -259,7 +259,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void OnUndeployStarted()
|
||||
{
|
||||
if (deployedToken != UpgradeManager.InvalidConditionToken)
|
||||
if (deployedToken != ConditionManager.InvalidConditionToken)
|
||||
deployedToken = manager.RevokeCondition(self, deployedToken);
|
||||
|
||||
deployState = DeployState.Deploying;
|
||||
@@ -267,7 +267,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void OnUndeployCompleted()
|
||||
{
|
||||
if (manager != null && !string.IsNullOrEmpty(info.UndeployedCondition) && undeployedToken == UpgradeManager.InvalidConditionToken)
|
||||
if (manager != null && !string.IsNullOrEmpty(info.UndeployedCondition) && undeployedToken == ConditionManager.InvalidConditionToken)
|
||||
undeployedToken = manager.GrantCondition(self, info.UndeployedCondition);
|
||||
|
||||
deployState = DeployState.Undeployed;
|
||||
|
||||
@@ -31,8 +31,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
readonly IMove movement;
|
||||
|
||||
UpgradeManager manager;
|
||||
int conditionToken = UpgradeManager.InvalidConditionToken;
|
||||
ConditionManager manager;
|
||||
int conditionToken = ConditionManager.InvalidConditionToken;
|
||||
|
||||
public GrantConditionOnMovement(Actor self, GrantConditionOnMovementInfo info)
|
||||
: base(info)
|
||||
@@ -42,7 +42,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
protected override void Created(Actor self)
|
||||
{
|
||||
manager = self.TraitOrDefault<UpgradeManager>();
|
||||
manager = self.TraitOrDefault<ConditionManager>();
|
||||
base.Created(self);
|
||||
}
|
||||
|
||||
@@ -53,9 +53,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
var isMovingVertically = Info.ConsiderVerticalMovement ? movement.IsMovingVertically : false;
|
||||
var isMoving = !IsTraitDisabled && !self.IsDead && (movement.IsMoving || isMovingVertically);
|
||||
if (isMoving && conditionToken == UpgradeManager.InvalidConditionToken)
|
||||
if (isMoving && conditionToken == ConditionManager.InvalidConditionToken)
|
||||
conditionToken = manager.GrantCondition(self, Info.Condition);
|
||||
else if (!isMoving && conditionToken != UpgradeManager.InvalidConditionToken)
|
||||
else if (!isMoving && conditionToken != ConditionManager.InvalidConditionToken)
|
||||
conditionToken = manager.RevokeCondition(self, conditionToken);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,8 +32,8 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
readonly GrantConditionOnTerrainInfo info;
|
||||
|
||||
UpgradeManager manager;
|
||||
int conditionToken = UpgradeManager.InvalidConditionToken;
|
||||
ConditionManager manager;
|
||||
int conditionToken = ConditionManager.InvalidConditionToken;
|
||||
string previousTerrain;
|
||||
|
||||
public GrantConditionOnTerrain(ActorInitializer init, GrantConditionOnTerrainInfo info)
|
||||
@@ -43,7 +43,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
|
||||
void INotifyCreated.Created(Actor self)
|
||||
{
|
||||
manager = self.TraitOrDefault<UpgradeManager>();
|
||||
manager = self.TraitOrDefault<ConditionManager>();
|
||||
}
|
||||
|
||||
public void Tick(Actor self)
|
||||
@@ -55,9 +55,9 @@ namespace OpenRA.Mods.Common.Traits
|
||||
var wantsGranted = info.TerrainTypes.Contains(currentTerrain);
|
||||
if (currentTerrain != previousTerrain)
|
||||
{
|
||||
if (wantsGranted && conditionToken == UpgradeManager.InvalidConditionToken)
|
||||
if (wantsGranted && conditionToken == ConditionManager.InvalidConditionToken)
|
||||
conditionToken = manager.GrantCondition(self, info.Condition);
|
||||
else if (!wantsGranted && conditionToken != UpgradeManager.InvalidConditionToken)
|
||||
else if (!wantsGranted && conditionToken != ConditionManager.InvalidConditionToken)
|
||||
conditionToken = manager.RevokeCondition(self, conditionToken);
|
||||
}
|
||||
|
||||
|
||||
@@ -108,7 +108,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (!info.ValidStances.HasStance(stance))
|
||||
return;
|
||||
|
||||
var um = a.TraitOrDefault<UpgradeManager>();
|
||||
var um = a.TraitOrDefault<ConditionManager>();
|
||||
if (um != null && !tokens.ContainsKey(a) && um.AcceptsExternalCondition(a, info.Condition))
|
||||
tokens[a] = um.GrantCondition(a, info.Condition, true);
|
||||
}
|
||||
@@ -130,7 +130,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
if (!info.ValidStances.HasStance(stance))
|
||||
return;
|
||||
|
||||
var um = produced.TraitOrDefault<UpgradeManager>();
|
||||
var um = produced.TraitOrDefault<ConditionManager>();
|
||||
if (um != null && um.AcceptsExternalCondition(produced, info.Condition))
|
||||
tokens[produced] = um.GrantCondition(produced, info.Condition, true);
|
||||
}
|
||||
@@ -146,7 +146,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
return;
|
||||
|
||||
tokens.Remove(a);
|
||||
var um = a.TraitOrDefault<UpgradeManager>();
|
||||
var um = a.TraitOrDefault<ConditionManager>();
|
||||
if (um != null)
|
||||
um.RevokeCondition(a, token);
|
||||
}
|
||||
|
||||
@@ -64,7 +64,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
Info = info;
|
||||
|
||||
// Conditional traits will be enabled (if appropriate) by the UpgradeManager
|
||||
// Conditional traits will be enabled (if appropriate) by the ConditionManager
|
||||
// calling IConditionConsumer.ConditionsChanged at the end of INotifyCreated.
|
||||
IsTraitDisabled = Info.RequiresCondition != null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user