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( wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Ready() ? Color.White : Color.Red), 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); Color.FromArgb(96, Color.Black), 1);
} }

View File

@@ -154,7 +154,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircle( wr.DrawRangeCircle(
Color.FromArgb(128, Color.DeepSkyBlue), 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]; var actorInfo = Rules.Info[Building];
foreach (var dec in actorInfo.Traits.WithInterface<IPlaceBuildingDecoration>()) 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>(); var cells = new Dictionary<CPos, bool>();
// Linebuild for walls. // 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 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) if (!ai.Traits.Get<BuildingInfo>().RequiresBaseProvider)
return; return;

View File

@@ -24,7 +24,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast( wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.LimeGreen), 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), Color.FromArgb(96, Color.Black),
1); 1);
} }

View File

@@ -17,15 +17,15 @@ namespace OpenRA.Mods.RA
//todo: remove all the Render*Circle duplication //todo: remove all the Render*Circle duplication
class RenderJammerCircleInfo : TraitInfo<RenderJammerCircle>, IPlaceBuildingDecoration 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>(); var jamsMissiles = ai.Traits.GetOrDefault<JamsMissilesInfo>();
if (jamsMissiles != null) 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>(); var jamsRadar = ai.Traits.GetOrDefault<JamsRadarInfo>();
if (jamsRadar != null) 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>()) foreach (var a in w.ActorsWithTrait<RenderJammerCircle>())
if (a.Actor.Owner == a.Actor.World.LocalPlayer) if (a.Actor.Owner == a.Actor.World.LocalPlayer)
@@ -42,18 +42,18 @@ namespace OpenRA.Mods.RA
var jamsMissiles = self.Info.Traits.GetOrDefault<JamsMissilesInfo>(); var jamsMissiles = self.Info.Traits.GetOrDefault<JamsMissilesInfo>();
if (jamsMissiles != null) 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>(); var jamsRadar = self.Info.Traits.GetOrDefault<JamsRadarInfo>();
if (jamsRadar != null) 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( wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, color), Color.FromArgb(128, color),
location, wr.ScreenPxPosition(pos),
range, range,
Color.FromArgb(96, Color.Black), Color.FromArgb(96, Color.Black),
1); 1);

View File

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

View File

@@ -16,11 +16,11 @@ namespace OpenRA.Mods.RA
{ {
class RenderShroudCircleInfo : TraitInfo<RenderShroudCircle>, IPlaceBuildingDecoration 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( wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Cyan), Color.FromArgb(128, Color.Cyan),
centerLocation.ToFloat2(), wr.ScreenPxPosition(centerPosition),
ai.Traits.Get<CreatesShroudInfo>().Range, ai.Traits.Get<CreatesShroudInfo>().Range,
Color.FromArgb(96, Color.Black), Color.FromArgb(96, Color.Black),
1); 1);
@@ -40,7 +40,7 @@ namespace OpenRA.Mods.RA
wr.DrawRangeCircleWithContrast( wr.DrawRangeCircleWithContrast(
Color.FromArgb(128, Color.Cyan), 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), Color.FromArgb(96, Color.Black),
1); 1);
} }