Add ActorInfo.HasTraitInfo<T>() requiring ITraitInfo types

This commit is contained in:
atlimit8
2015-08-02 12:44:46 -05:00
parent 85fab45451
commit 8162fa27ab
77 changed files with 138 additions and 136 deletions

View File

@@ -120,7 +120,7 @@ namespace OpenRA.Mods.Common.Traits
firstTick = false;
// TODO: Aircraft husks don't properly unreserve.
if (self.Info.Traits.Contains<FallsToEarthInfo>())
if (self.Info.HasTraitInfo<FallsToEarthInfo>())
return;
ReserveSpawnBuilding();
@@ -158,7 +158,7 @@ namespace OpenRA.Mods.Common.Traits
return WVec.Zero;
return self.World.FindActorsInCircle(self.CenterPosition, info.IdealSeparation)
.Where(a => !a.IsDead && a.Info.Traits.Contains<AircraftInfo>() && a.Info.Traits.Get<AircraftInfo>().CruiseAltitude == info.CruiseAltitude)
.Where(a => !a.IsDead && a.Info.HasTraitInfo<AircraftInfo>() && a.Info.Traits.Get<AircraftInfo>().CruiseAltitude == info.CruiseAltitude)
.Select(GetRepulsionForce)
.Aggregate(WVec.Zero, (a, b) => a + b);
}
@@ -191,7 +191,7 @@ namespace OpenRA.Mods.Common.Traits
return null; // not on the ground.
return self.World.ActorMap.GetUnitsAt(self.Location)
.FirstOrDefault(a => a.Info.Traits.Contains<ReservableInfo>());
.FirstOrDefault(a => a.Info.HasTraitInfo<ReservableInfo>());
}
protected void ReserveSpawnBuilding()