Merge ConditionManager trait directly into Actor

This commit is contained in:
atlimit8
2020-04-18 23:25:05 -05:00
committed by reaperrr
parent e12c1dc9aa
commit 259c8d2c98
65 changed files with 466 additions and 707 deletions

View File

@@ -49,8 +49,7 @@ namespace OpenRA.Mods.Common.Traits
public readonly PluggableInfo Info;
readonly string initialPlug;
ConditionManager conditionManager;
int conditionToken = ConditionManager.InvalidConditionToken;
int conditionToken = Actor.InvalidConditionToken;
Dictionary<string, bool> plugTypesAvailability = null;
string active;
@@ -73,8 +72,6 @@ namespace OpenRA.Mods.Common.Traits
void INotifyCreated.Created(Actor self)
{
conditionManager = self.TraitOrDefault<ConditionManager>();
if (!string.IsNullOrEmpty(initialPlug))
EnablePlug(self, initialPlug);
}
@@ -96,10 +93,10 @@ namespace OpenRA.Mods.Common.Traits
if (!Info.Conditions.TryGetValue(type, out condition))
return;
if (conditionToken != ConditionManager.InvalidConditionToken)
conditionManager.RevokeCondition(self, conditionToken);
if (conditionToken != Actor.InvalidConditionToken)
self.RevokeCondition(conditionToken);
conditionToken = conditionManager.GrantCondition(self, condition);
conditionToken = self.GrantCondition(condition);
active = type;
}
@@ -108,8 +105,8 @@ namespace OpenRA.Mods.Common.Traits
if (type != active)
return;
if (conditionToken != ConditionManager.InvalidConditionToken)
conditionToken = conditionManager.RevokeCondition(self, conditionToken);
if (conditionToken != Actor.InvalidConditionToken)
conditionToken = self.RevokeCondition(conditionToken);
active = null;
}