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

@@ -83,22 +83,15 @@ namespace OpenRA.Mods.Cnc.Traits
}
}
class MadTank : INotifyCreated, IIssueOrder, IResolveOrder, IOrderVoice, IIssueDeployOrder
class MadTank : IIssueOrder, IResolveOrder, IOrderVoice, IIssueDeployOrder
{
readonly MadTankInfo info;
ConditionManager conditionManager;
public MadTank(Actor self, MadTankInfo info)
{
this.info = info;
}
void INotifyCreated.Created(Actor self)
{
conditionManager = self.TraitOrDefault<ConditionManager>();
}
public IEnumerable<IOrderTargeter> Orders
{
get
@@ -195,8 +188,8 @@ namespace OpenRA.Mods.Cnc.Traits
if (target.Type == TargetType.Invalid)
return true;
if (mad.conditionManager != null && !string.IsNullOrEmpty(mad.info.DeployedCondition))
mad.conditionManager.GrantCondition(self, mad.info.DeployedCondition);
if (!string.IsNullOrEmpty(mad.info.DeployedCondition))
self.GrantCondition(mad.info.DeployedCondition);
self.World.AddFrameEndTask(w => EjectDriver());
if (mad.info.ThumpSequence != null)