Remove the hardcoded cloak reference from activities
This commit is contained in:
@@ -237,7 +237,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
}
|
||||
|
||||
public class Building : IOccupySpace, ITargetableCells, INotifySold, INotifyTransform, ISync, INotifyCreated,
|
||||
INotifyAddedToWorld, INotifyRemovedFromWorld
|
||||
INotifyAddedToWorld, INotifyRemovedFromWorld, INotifyDemolition
|
||||
{
|
||||
public readonly bool SkipMakeAnimation;
|
||||
public readonly BuildingInfo Info;
|
||||
@@ -331,6 +331,11 @@ namespace OpenRA.Mods.Common.Traits
|
||||
notify.BuildingComplete(self);
|
||||
}
|
||||
|
||||
void INotifyDemolition.Demolishing(Actor self)
|
||||
{
|
||||
Lock();
|
||||
}
|
||||
|
||||
void INotifySold.Selling(Actor self)
|
||||
{
|
||||
if (Info.RemoveSmudgesOnSell)
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user