From cf6bb26f83f48ba46a185947842bfeccf7809c3f Mon Sep 17 00:00:00 2001 From: Chris Forbes Date: Mon, 11 Jan 2010 17:50:16 +1300 Subject: [PATCH] more ported bits --- OpenRa.Game/Traits/Activities/CaptureBuilding.cs | 2 +- OpenRa.Game/Traits/Activities/Fly.cs | 2 +- OpenRa.Game/Traits/Activities/ReturnToBase.cs | 4 ++-- OpenRa.Game/Traits/Activities/Turn.cs | 2 +- OpenRa.Game/Traits/Helicopter.cs | 12 ++++++------ OpenRa.Game/Traits/Passenger.cs | 2 +- OpenRa.Game/Traits/Plane.cs | 4 ++-- 7 files changed, 14 insertions(+), 14 deletions(-) diff --git a/OpenRa.Game/Traits/Activities/CaptureBuilding.cs b/OpenRa.Game/Traits/Activities/CaptureBuilding.cs index 66fa2fdf5a..69b7bc91d7 100644 --- a/OpenRa.Game/Traits/Activities/CaptureBuilding.cs +++ b/OpenRa.Game/Traits/Activities/CaptureBuilding.cs @@ -19,7 +19,7 @@ namespace OpenRa.Game.Traits.Activities if (target.Owner == self.Owner) { - if (target.Health == target.LegacyInfo.Strength) + if (target.Health == target.Info.Traits.WithInterface().First().HP) return NextActivity; target.InflictDamage(self, -EngineerCapture.EngineerDamage, Rules.WarheadInfo["Super"]); } diff --git a/OpenRa.Game/Traits/Activities/Fly.cs b/OpenRa.Game/Traits/Activities/Fly.cs index cae1f43899..b9b820d8c0 100644 --- a/OpenRa.Game/Traits/Activities/Fly.cs +++ b/OpenRa.Game/Traits/Activities/Fly.cs @@ -31,7 +31,7 @@ namespace OpenRa.Game.Traits.Activities var desiredFacing = Util.GetFacing(d, unit.Facing); if (unit.Altitude == CruiseAltitude) - Util.TickFacing(ref unit.Facing, desiredFacing, self.LegacyInfo.ROT); + Util.TickFacing(ref unit.Facing, desiredFacing, self.Info.Traits.Get().ROT); var speed = .2f * Util.GetEffectiveSpeed(self); var angle = unit.Facing / 128f * Math.PI; diff --git a/OpenRa.Game/Traits/Activities/ReturnToBase.cs b/OpenRa.Game/Traits/Activities/ReturnToBase.cs index 75715798ea..aed998b9be 100644 --- a/OpenRa.Game/Traits/Activities/ReturnToBase.cs +++ b/OpenRa.Game/Traits/Activities/ReturnToBase.cs @@ -19,7 +19,7 @@ namespace OpenRa.Game.Traits.Activities Actor ChooseAirfield(Actor self) { var airfield = Game.world.Actors - .Where(a => a.LegacyInfo == Rules.UnitInfo["AFLD"] /* todo: generalize this */ + .Where(a => a.Info.Name == "afld" && a.Owner == self.Owner && !Reservable.IsReserved(a)) .FirstOrDefault(); @@ -41,7 +41,7 @@ namespace OpenRa.Game.Traits.Activities var unit = self.traits.Get(); var speed = .2f * Util.GetEffectiveSpeed(self); var approachStart = landPos - new float2(unit.Altitude * speed, 0); - var turnRadius = (128f / self.LegacyInfo.ROT) * speed / (float)Math.PI; + var turnRadius = (128f / self.Info.Traits.Get().ROT) * speed / (float)Math.PI; /* work out the center points */ var fwd = -float2.FromAngle(unit.Facing / 128f * (float)Math.PI); diff --git a/OpenRa.Game/Traits/Activities/Turn.cs b/OpenRa.Game/Traits/Activities/Turn.cs index 4750cc7574..2f29a1bab5 100755 --- a/OpenRa.Game/Traits/Activities/Turn.cs +++ b/OpenRa.Game/Traits/Activities/Turn.cs @@ -19,7 +19,7 @@ namespace OpenRa.Game.Traits.Activities if( desiredFacing == unit.Facing ) return NextActivity; - Util.TickFacing( ref unit.Facing, desiredFacing, self.LegacyInfo.ROT ); + Util.TickFacing( ref unit.Facing, desiredFacing, self.Info.Traits.Get().ROT ); return this; } diff --git a/OpenRa.Game/Traits/Helicopter.cs b/OpenRa.Game/Traits/Helicopter.cs index 4773133a30..8fa02f6fca 100644 --- a/OpenRa.Game/Traits/Helicopter.cs +++ b/OpenRa.Game/Traits/Helicopter.cs @@ -1,6 +1,7 @@ -using OpenRa.Game.Traits.Activities; -using System; +using System; +using System.Linq; using OpenRa.Game.GameRules; +using OpenRa.Game.Traits.Activities; namespace OpenRa.Game.Traits { @@ -17,11 +18,10 @@ namespace OpenRa.Game.Traits public IDisposable reservation; public Helicopter(Actor self) {} - // todo: push into data! static bool HeliCanEnter(Actor a) { - if (a.LegacyInfo == Rules.UnitInfo["HPAD"]) return true; - if (a.LegacyInfo == Rules.UnitInfo["FIX"]) return true; + if (a.Info.Name == "hpad") return true; + if (a.Info.Name == "fix") return true; return false; } @@ -52,7 +52,7 @@ namespace OpenRa.Game.Traits { self.CancelActivity(); self.QueueActivity(new HeliFly(Util.CenterOfCell(order.TargetLocation))); - self.QueueActivity(new Turn(self.LegacyInfo.InitialFacing)); + self.QueueActivity(new Turn(self.Info.Traits.WithInterface().FirstOrDefault().InitialFacing)); self.QueueActivity(new HeliLand(true)); } diff --git a/OpenRa.Game/Traits/Passenger.cs b/OpenRa.Game/Traits/Passenger.cs index ecf4a42a5a..33b17b2b8d 100644 --- a/OpenRa.Game/Traits/Passenger.cs +++ b/OpenRa.Game/Traits/Passenger.cs @@ -20,7 +20,7 @@ namespace OpenRa.Game.Traits return null; var umt = self.traits.WithInterface().First().GetMovementType(); - if (!underCursor.LegacyInfo.PassengerTypes.Contains(umt)) + if (!underCursor.Info.Traits.Get().PassengerTypes.Contains(umt)) return null; return new Order("EnterTransport", self, underCursor, int2.Zero, null); diff --git a/OpenRa.Game/Traits/Plane.cs b/OpenRa.Game/Traits/Plane.cs index 0733fcf541..96c2884d6c 100644 --- a/OpenRa.Game/Traits/Plane.cs +++ b/OpenRa.Game/Traits/Plane.cs @@ -20,8 +20,8 @@ namespace OpenRa.Game.Traits // todo: push into data! static bool PlaneCanEnter(Actor a) { - if (a.LegacyInfo == Rules.UnitInfo["AFLD"]) return true; - if (a.LegacyInfo == Rules.UnitInfo["FIX"]) return true; + if (a.Info.Name == "afld") return true; + if (a.Info.Name == "fix") return true; return false; }