Persist Chronoshift properties across transform.

This commit is contained in:
Paul Chote
2018-06-27 18:59:31 +01:00
parent b93d782688
commit 8f215a0219

View File

@@ -38,7 +38,7 @@ namespace OpenRA.Mods.Cnc.Traits
public object Create(ActorInitializer init) { return new Chronoshiftable(init, this); }
}
public class Chronoshiftable : ITick, ISync, ISelectionBar, IDeathActorInitModifier, INotifyCreated
public class Chronoshiftable : ITick, ISync, ISelectionBar, IDeathActorInitModifier, ITransformActorInitModifier, INotifyCreated
{
readonly ChronoshiftableInfo info;
readonly Actor self;
@@ -144,7 +144,7 @@ namespace OpenRA.Mods.Cnc.Traits
Color ISelectionBar.GetColor() { return info.TimeBarColor; }
bool ISelectionBar.DisplayWhenEmpty { get { return false; } }
public void ModifyDeathActorInit(Actor self, TypeDictionary init)
void ModifyActorInit(TypeDictionary init)
{
if (!info.ReturnToOrigin || ReturnTicks <= 0)
return;
@@ -155,6 +155,9 @@ namespace OpenRA.Mods.Cnc.Traits
if (chronosphere != self)
init.Add(new ChronoshiftChronosphereInit(chronosphere));
}
void IDeathActorInitModifier.ModifyDeathActorInit(Actor self, TypeDictionary init) { ModifyActorInit(init); }
void ITransformActorInitModifier.ModifyTransformActorInit(Actor self, TypeDictionary init) { ModifyActorInit(init); }
}
public class ChronoshiftReturnInit : IActorInit<int>