Fix refineries not uncloaking on dock

This commit is contained in:
Gustas
2024-01-10 15:37:25 +02:00
committed by Paul Chote
parent d450ef43c6
commit 5048a50403

View File

@@ -112,7 +112,7 @@ namespace OpenRA.Mods.Common.Traits
public class Cloak : PausableConditionalTrait<CloakInfo>,
IRenderModifier, INotifyDamage, INotifyUnloadCargo, INotifyLoadCargo, INotifyDemolition, INotifyInfiltration,
INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyDockClient, INotifySupportPower
INotifyAttack, ITick, IVisibilityModifier, IRadarColorModifier, INotifyDockClient, INotifyDockHost, INotifySupportPower
{
readonly float3 cloakedColor;
readonly float cloakedColorAlpha;
@@ -324,6 +324,21 @@ namespace OpenRA.Mods.Common.Traits
isDocking = false;
}
void INotifyDockHost.Docked(Actor self, Actor client)
{
if (Info.UncloakOn.HasFlag(UncloakType.Dock))
{
isDocking = true;
Uncloak();
}
}
void INotifyDockHost.Undocked(Actor self, Actor client)
{
if (Info.UncloakOn.HasFlag(UncloakType.Dock))
isDocking = false;
}
void INotifyLoadCargo.Loading(Actor self)
{
if (Info.UncloakOn.HasFlag(UncloakType.Load))