diff --git a/OpenRA.Game/Traits/DrawLineToTarget.cs b/OpenRA.Game/Traits/DrawLineToTarget.cs index c1b65c5ee6..be8861bbaf 100644 --- a/OpenRA.Game/Traits/DrawLineToTarget.cs +++ b/OpenRA.Game/Traits/DrawLineToTarget.cs @@ -27,19 +27,11 @@ namespace OpenRA.Traits this.Info = info; } - Actor target; - float2 pos; + Target target; int lifetime; Color c; - public void SetTarget(Actor self, int2 cell, Color c) - { - pos = Game.CellSize * (cell + new float2(0.5f, 0.5f)); - lifetime = Info.Ticks; - target = null; - this.c = c; - } - public void SetTarget(Actor self, Actor target, Color c) + public void SetTarget(Actor self, Target target, Color c) { this.target = target; lifetime = Info.Ticks; @@ -52,7 +44,7 @@ namespace OpenRA.Traits if ((lifetime <= 0 || --lifetime <= 0) && !force) return; - var p = (target != null) ? target.CenterLocation : pos; + var p = target.CenterLocation; Game.Renderer.LineRenderer.DrawLine(self.CenterLocation, p, c, c); for (bool b = false; !b; p = self.CenterLocation, b = true) diff --git a/OpenRA.Game/Traits/Mobile.cs b/OpenRA.Game/Traits/Mobile.cs index 899e39b071..fb4b1b1114 100644 --- a/OpenRA.Game/Traits/Mobile.cs +++ b/OpenRA.Game/Traits/Mobile.cs @@ -117,7 +117,7 @@ namespace OpenRA.Traits w.Add(new MoveFlash(self.World, order.TargetLocation)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetLocation, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); if( !order.Queued ) self.CancelActivity(); diff --git a/OpenRA.Mods.RA/AttackBase.cs b/OpenRA.Mods.RA/AttackBase.cs index 45e1ec587f..be1994e3aa 100755 --- a/OpenRA.Mods.RA/AttackBase.cs +++ b/OpenRA.Mods.RA/AttackBase.cs @@ -255,8 +255,8 @@ namespace OpenRA.Mods.RA var line = self.traits.GetOrDefault(); if (line != null) - if (order.TargetActor != null) line.SetTarget(self, order.TargetActor, Color.Red); - else line.SetTarget(self, order.TargetLocation, Color.Red); + if (order.TargetActor != null) line.SetTarget(self, Target.FromOrder(order), Color.Red); + else line.SetTarget(self, Target.FromOrder(order), Color.Red); }); } else diff --git a/OpenRA.Mods.RA/C4Demolition.cs b/OpenRA.Mods.RA/C4Demolition.cs index 49b0c4eb8f..c0909c67c0 100644 --- a/OpenRA.Mods.RA/C4Demolition.cs +++ b/OpenRA.Mods.RA/C4Demolition.cs @@ -43,7 +43,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Red); + line.SetTarget(self, Target.FromOrder(order), Color.Red); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/EngineerCapture.cs b/OpenRA.Mods.RA/EngineerCapture.cs index 98c447692c..4beb440590 100644 --- a/OpenRA.Mods.RA/EngineerCapture.cs +++ b/OpenRA.Mods.RA/EngineerCapture.cs @@ -49,7 +49,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Red); + line.SetTarget(self, Target.FromOrder(order), Color.Red); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/EngineerRepair.cs b/OpenRA.Mods.RA/EngineerRepair.cs index f07f88c0cc..f1c97a3208 100644 --- a/OpenRA.Mods.RA/EngineerRepair.cs +++ b/OpenRA.Mods.RA/EngineerRepair.cs @@ -59,7 +59,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Yellow); + line.SetTarget(self, Target.FromOrder(order), Color.Yellow); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Harvester.cs b/OpenRA.Mods.RA/Harvester.cs index 485f2b9805..376d4ce4aa 100755 --- a/OpenRA.Mods.RA/Harvester.cs +++ b/OpenRA.Mods.RA/Harvester.cs @@ -128,7 +128,7 @@ namespace OpenRA.Mods.RA w.Add(new MoveFlash(self.World, order.TargetLocation)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetLocation, Color.Red); + line.SetTarget(self, Target.FromOrder(order), Color.Red); }); self.CancelActivity(); @@ -154,7 +154,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Helicopter.cs b/OpenRA.Mods.RA/Helicopter.cs index 6ae4f56263..e11d40f0bd 100644 --- a/OpenRA.Mods.RA/Helicopter.cs +++ b/OpenRA.Mods.RA/Helicopter.cs @@ -80,7 +80,7 @@ namespace OpenRA.Mods.RA w.Add(new MoveFlash(self.World, order.TargetLocation)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetLocation, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); @@ -110,7 +110,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Passenger.cs b/OpenRA.Mods.RA/Passenger.cs index f99c7c0fb0..b87442c8ea 100644 --- a/OpenRA.Mods.RA/Passenger.cs +++ b/OpenRA.Mods.RA/Passenger.cs @@ -73,7 +73,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Plane.cs b/OpenRA.Mods.RA/Plane.cs index dfb9821d47..7b5500c3bd 100644 --- a/OpenRA.Mods.RA/Plane.cs +++ b/OpenRA.Mods.RA/Plane.cs @@ -96,7 +96,7 @@ namespace OpenRA.Mods.RA w.Add(new MoveFlash(self.World, order.TargetLocation)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetLocation, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); @@ -121,7 +121,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity(); diff --git a/OpenRA.Mods.RA/Repairable.cs b/OpenRA.Mods.RA/Repairable.cs index 5330b204b3..1c21b8f579 100644 --- a/OpenRA.Mods.RA/Repairable.cs +++ b/OpenRA.Mods.RA/Repairable.cs @@ -65,7 +65,7 @@ namespace OpenRA.Mods.RA w.Add(new FlashTarget(order.TargetActor)); var line = self.traits.GetOrDefault(); if (line != null) - line.SetTarget(self, order.TargetActor, Color.Green); + line.SetTarget(self, Target.FromOrder(order), Color.Green); }); self.CancelActivity();