fetch the max range from AttackBaseInfo rather than making it up completely
This commit is contained in:
@@ -38,6 +38,14 @@ namespace OpenRA.Mods.RA
|
||||
public readonly float ScanTimeSpread = .5f;
|
||||
|
||||
public abstract object Create(ActorInitializer init);
|
||||
|
||||
public float GetMaximumRange()
|
||||
{
|
||||
var priRange = PrimaryWeapon != null ? Rules.Weapons[PrimaryWeapon.ToLowerInvariant()].Range : 0;
|
||||
var secRange = SecondaryWeapon != null ? Rules.Weapons[SecondaryWeapon.ToLowerInvariant()].Range : 0;
|
||||
|
||||
return Math.Max(priRange, secRange);
|
||||
}
|
||||
}
|
||||
|
||||
public abstract class AttackBase : IIssueOrder, IResolveOrder, ITick, IExplodeModifier, IOrderVoice, ISync
|
||||
|
||||
@@ -21,13 +21,14 @@ namespace OpenRA.Mods.RA
|
||||
|
||||
class RenderRangeCircleInfo : TraitInfo<RenderRangeCircle>, IPlaceBuildingDecoration
|
||||
{
|
||||
public readonly string RangeCircleType;
|
||||
//public readonly string RangeCircleType;
|
||||
|
||||
public void Render(WorldRenderer wr, World w, ActorInfo ai, int2 centerLocation)
|
||||
{
|
||||
wr.DrawRangeCircle(
|
||||
Color.FromArgb(128, Color.Yellow),
|
||||
centerLocation, 3 /* hack: get this from the ActorInfo, but it's nontrivial currently */);
|
||||
centerLocation,
|
||||
ai.Traits.Get<AttackBaseInfo>().GetMaximumRange());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user