Remove PPos from range circle drawing.

This commit is contained in:
Paul Chote
2013-07-20 14:43:47 +12:00
parent 27f04c1b78
commit 0c35e49239
8 changed files with 19 additions and 19 deletions

View File

@@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA.Buildings
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Ready() ? Color.White : Color.Red),
self.CenterLocation.ToFloat2(), Info.Range,
wr.ScreenPxPosition(self.CenterPosition), Info.Range,
Color.FromArgb(96, Color.Black), 1);
}

View File

@@ -154,7 +154,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircle(
Color.FromArgb(128, Color.DeepSkyBlue),
self.CenterLocation.ToFloat2(), (int)self.Trait<ChronoshiftDeploy>().Info.JumpDistance);
wr.ScreenPxPosition(self.CenterPosition), (int)self.Trait<ChronoshiftDeploy>().Info.JumpDistance);
}
}
}

View File

@@ -76,7 +76,7 @@ namespace OpenRA.Mods.RA.Orders
var actorInfo = Rules.Info[Building];
foreach (var dec in actorInfo.Traits.WithInterface<IPlaceBuildingDecoration>())
dec.Render(wr, world, actorInfo, Traits.Util.CenterOfCell(position)); /* hack hack */
dec.Render(wr, world, actorInfo, position.CenterPosition); /* hack hack */
var cells = new Dictionary<CPos, bool>();
// Linebuild for walls.

View File

@@ -26,7 +26,7 @@ namespace OpenRA.Mods.RA.Render
public override object Create(ActorInitializer init) { return new RenderBuilding(init, this);}
public void Render(WorldRenderer wr, World w, ActorInfo ai, PPos centerLocation)
public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
{
if (!ai.Traits.Get<BuildingInfo>().RequiresBaseProvider)
return;

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.LimeGreen),
self.CenterLocation.ToFloat2(), self.Info.Traits.Get<DetectCloakedInfo>().Range,
wr.ScreenPxPosition(self.CenterPosition), self.Info.Traits.Get<DetectCloakedInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
}

View File

@@ -17,15 +17,15 @@ namespace OpenRA.Mods.RA
//todo: remove all the Render*Circle duplication
class RenderJammerCircleInfo : TraitInfo<RenderJammerCircle>, IPlaceBuildingDecoration
{
public void Render(WorldRenderer wr, World w, ActorInfo ai, PPos centerLocation)
public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
{
var jamsMissiles = ai.Traits.GetOrDefault<JamsMissilesInfo>();
if (jamsMissiles != null)
RenderJammerCircle.DrawRangeCircle(wr, centerLocation.ToFloat2(), jamsMissiles.Range, Color.Red);
RenderJammerCircle.DrawRangeCircle(wr, centerPosition, jamsMissiles.Range, Color.Red);
var jamsRadar = ai.Traits.GetOrDefault<JamsRadarInfo>();
if (jamsRadar != null)
RenderJammerCircle.DrawRangeCircle(wr, centerLocation.ToFloat2(), jamsRadar.Range, Color.Blue);
RenderJammerCircle.DrawRangeCircle(wr, centerPosition, jamsRadar.Range, Color.Blue);
foreach (var a in w.ActorsWithTrait<RenderJammerCircle>())
if (a.Actor.Owner == a.Actor.World.LocalPlayer)
@@ -42,18 +42,18 @@ namespace OpenRA.Mods.RA
var jamsMissiles = self.Info.Traits.GetOrDefault<JamsMissilesInfo>();
if (jamsMissiles != null)
DrawRangeCircle(wr, self.CenterLocation.ToFloat2(), jamsMissiles.Range, Color.Red);
DrawRangeCircle(wr, self.CenterPosition, jamsMissiles.Range, Color.Red);
var jamsRadar = self.Info.Traits.GetOrDefault<JamsRadarInfo>();
if (jamsRadar != null)
DrawRangeCircle(wr, self.CenterLocation.ToFloat2(), jamsRadar.Range, Color.Blue);
DrawRangeCircle(wr, self.CenterPosition, jamsRadar.Range, Color.Blue);
}
public static void DrawRangeCircle(WorldRenderer wr, float2 location, int range, Color color)
public static void DrawRangeCircle(WorldRenderer wr, WPos pos, int range, Color color)
{
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, color),
location,
wr.ScreenPxPosition(pos),
range,
Color.FromArgb(96, Color.Black),
1);

View File

@@ -17,17 +17,17 @@ namespace OpenRA.Mods.RA
{
public interface IPlaceBuildingDecoration
{
void Render(WorldRenderer wr, World w, ActorInfo ai, PPos centerLocation);
void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition);
}
class RenderRangeCircleInfo : TraitInfo<RenderRangeCircle>, IPlaceBuildingDecoration
{
public readonly string RangeCircleType = null;
public void Render(WorldRenderer wr, World w, ActorInfo ai, PPos centerLocation)
public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
{
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Yellow), centerLocation.ToFloat2(),
Color.FromArgb(128, Color.Yellow), wr.ScreenPxPosition(centerPosition),
ai.Traits.WithInterface<ArmamentInfo>()
.Select(a => Rules.Weapons[a.Weapon.ToLowerInvariant()].Range).Max(),
Color.FromArgb(96, Color.Black), 1
@@ -51,7 +51,7 @@ namespace OpenRA.Mods.RA
var pxRange = self.Trait<AttackBase>().GetMaximumRange().Range / 1024f;
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Yellow),
self.CenterLocation.ToFloat2(), pxRange,
wr.ScreenPxPosition(self.CenterPosition), pxRange,
Color.FromArgb(96, Color.Black),
1);
}

View File

@@ -16,11 +16,11 @@ namespace OpenRA.Mods.RA
{
class RenderShroudCircleInfo : TraitInfo<RenderShroudCircle>, IPlaceBuildingDecoration
{
public void Render(WorldRenderer wr, World w, ActorInfo ai, PPos centerLocation)
public void Render(WorldRenderer wr, World w, ActorInfo ai, WPos centerPosition)
{
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Cyan),
centerLocation.ToFloat2(),
wr.ScreenPxPosition(centerPosition),
ai.Traits.Get<CreatesShroudInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Cyan),
self.CenterLocation.ToFloat2(), self.Info.Traits.Get<CreatesShroudInfo>().Range,
wr.ScreenPxPosition(self.CenterPosition), self.Info.Traits.Get<CreatesShroudInfo>().Range,
Color.FromArgb(96, Color.Black),
1);
}