Actor.traits is implementation detail

This commit is contained in:
Bob
2010-08-14 15:19:30 +12:00
committed by alzeih
parent f6c6255f64
commit ae703d50b2
165 changed files with 586 additions and 561 deletions

View File

@@ -30,7 +30,7 @@ namespace OpenRA.Mods.RA
var weapon = ChooseWeaponForExplosion(self);
if (weapon != null)
{
var move = self.traits.GetOrDefault<IMove>();
var move = self.TraitOrDefault<IMove>();
var altitude = move != null ? move.Altitude : 0;
Combat.DoExplosion(e.Attacker, weapon, self.CenterLocation, altitude);
}
@@ -39,7 +39,7 @@ namespace OpenRA.Mods.RA
string ChooseWeaponForExplosion(Actor self)
{
var shouldExplode = self.traits.WithInterface<IExplodeModifier>().All(a => a.ShouldExplode(self));
var shouldExplode = self.TraitsImplementing<IExplodeModifier>().All(a => a.ShouldExplode(self));
var info = self.Info.Traits.Get<ExplodesInfo>();
return shouldExplode ? info.Weapon : info.EmptyWeapon;