Add TargetableOffsets to HitShape
And remove ITargetablePositions from Building. Also, added UseFootprintOffsets to replicate the old Building behavior for easier setup of TargetablePositions for buildings.
This commit is contained in:
@@ -145,12 +145,11 @@ namespace OpenRA.Traits
|
||||
if (!actor.Targetables.Any(Exts.IsTraitEnabled))
|
||||
return new[] { actor.CenterPosition };
|
||||
|
||||
var targetablePositions = actor.TraitOrDefault<ITargetablePositions>();
|
||||
if (targetablePositions != null)
|
||||
var targetablePositions = actor.TraitsImplementing<ITargetablePositions>().Where(Exts.IsTraitEnabled);
|
||||
if (targetablePositions.Any())
|
||||
{
|
||||
var positions = targetablePositions.TargetablePositions(actor);
|
||||
if (positions.Any())
|
||||
return positions;
|
||||
var target = this;
|
||||
return targetablePositions.SelectMany(tp => tp.TargetablePositions(target.actor));
|
||||
}
|
||||
|
||||
return new[] { actor.CenterPosition };
|
||||
|
||||
Reference in New Issue
Block a user