Merge ConditionManager trait directly into Actor
This commit is contained in:
@@ -47,20 +47,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
const string OrderID = "PrimaryProducer";
|
||||
|
||||
ConditionManager conditionManager;
|
||||
int primaryToken = ConditionManager.InvalidConditionToken;
|
||||
int primaryToken = Actor.InvalidConditionToken;
|
||||
|
||||
public bool IsPrimary { get; private set; }
|
||||
|
||||
public PrimaryBuilding(Actor self, PrimaryBuildingInfo info)
|
||||
: base(info) { }
|
||||
|
||||
protected override void Created(Actor self)
|
||||
{
|
||||
conditionManager = self.TraitOrDefault<ConditionManager>();
|
||||
base.Created(self);
|
||||
}
|
||||
|
||||
IEnumerable<IOrderTargeter> IIssueOrder.Orders
|
||||
{
|
||||
get
|
||||
@@ -109,13 +102,13 @@ namespace OpenRA.Mods.Common.Traits
|
||||
b.Trait.SetPrimaryProducer(b.Actor, false);
|
||||
}
|
||||
|
||||
if (conditionManager != null && primaryToken == ConditionManager.InvalidConditionToken && !string.IsNullOrEmpty(Info.PrimaryCondition))
|
||||
primaryToken = conditionManager.GrantCondition(self, Info.PrimaryCondition);
|
||||
if (primaryToken == Actor.InvalidConditionToken && !string.IsNullOrEmpty(Info.PrimaryCondition))
|
||||
primaryToken = self.GrantCondition(Info.PrimaryCondition);
|
||||
|
||||
Game.Sound.PlayNotification(self.World.Map.Rules, self.Owner, "Speech", Info.SelectionNotification, self.Owner.Faction.InternalName);
|
||||
}
|
||||
else if (primaryToken != ConditionManager.InvalidConditionToken)
|
||||
primaryToken = conditionManager.RevokeCondition(self, primaryToken);
|
||||
else if (primaryToken != Actor.InvalidConditionToken)
|
||||
primaryToken = self.RevokeCondition(primaryToken);
|
||||
}
|
||||
|
||||
protected override void TraitEnabled(Actor self) { }
|
||||
|
||||
Reference in New Issue
Block a user