Add plumbing for customizable vertical ProximityTrigger range
And check DistanceAboveTerrain instead of just vertical distance to upgrade source. This is necessary to avoid situations where an actor is technically on the right vertical distance above/below ground, but not upgraded because it is located on a lower/higher terrain level than the upgrade source.
This commit is contained in:
@@ -57,7 +57,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
public void AddedToWorld(Actor self)
|
||||
{
|
||||
cachedPosition = self.CenterPosition;
|
||||
proximityTrigger = self.World.ActorMap.AddProximityTrigger(cachedPosition, cachedRange, ActorEntered, ActorExited);
|
||||
proximityTrigger = self.World.ActorMap.AddProximityTrigger(cachedPosition, cachedRange, WDist.Zero, ActorEntered, ActorExited);
|
||||
}
|
||||
|
||||
public void RemovedFromWorld(Actor self)
|
||||
@@ -80,7 +80,7 @@ namespace OpenRA.Mods.Common.Traits
|
||||
{
|
||||
cachedPosition = self.CenterPosition;
|
||||
cachedRange = desiredRange;
|
||||
self.World.ActorMap.UpdateProximityTrigger(proximityTrigger, cachedPosition, cachedRange);
|
||||
self.World.ActorMap.UpdateProximityTrigger(proximityTrigger, cachedPosition, cachedRange, WDist.Zero);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user