Remove the hardcoded cloak reference from activities

This commit is contained in:
abcdefg30
2017-07-13 23:45:48 +02:00
committed by reaperrr
parent 049ed086f9
commit 71f2026b32
6 changed files with 57 additions and 21 deletions

View File

@@ -62,8 +62,8 @@ namespace OpenRA.Mods.Common.Traits
public override object Create(ActorInitializer init) { return new Cloak(this); }
}
public class Cloak : ConditionalTrait<CloakInfo>, IRenderModifier, INotifyDamage,
INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyCreated, INotifyHarvesterAction
public class Cloak : ConditionalTrait<CloakInfo>, IRenderModifier, INotifyDamage, INotifyUnload, INotifyDemolition, INotifyInfiltration,
INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyCreated, INotifyHarvesterAction
{
[Sync] int remainingTime;
bool isDocking;
@@ -212,5 +212,23 @@ namespace OpenRA.Mods.Common.Traits
{
isDocking = false;
}
void INotifyUnload.Unloading(Actor self)
{
if (Info.UncloakOn.HasFlag(UncloakType.Unload))
Uncloak();
}
void INotifyDemolition.Demolishing(Actor self)
{
if (Info.UncloakOn.HasFlag(UncloakType.Demolish))
Uncloak();
}
void INotifyInfiltration.Infiltrating(Actor self)
{
if (Info.UncloakOn.HasFlag(UncloakType.Infiltrate))
Uncloak();
}
}
}