diff --git a/OpenRA.Mods.Common/Traits/Render/WithGateSpriteBody.cs b/OpenRA.Mods.Common/Traits/Render/WithGateSpriteBody.cs index e226f3667c..87ae9adebb 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithGateSpriteBody.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithGateSpriteBody.cs @@ -73,8 +73,8 @@ namespace OpenRA.Mods.Common.Traits var adjacentActorTraits = adjacent.SelectMany(self.World.ActorMap.GetActorsAt) .SelectMany(a => a.TraitsImplementing()); - foreach (var aat in adjacentActorTraits) - aat.SetDirty(); + foreach (var rb in adjacentActorTraits) + rb.SetDirty(); } public void RemovedFromWorld(Actor self) diff --git a/OpenRA.Mods.Common/Traits/Render/WithWallSpriteBody.cs b/OpenRA.Mods.Common/Traits/Render/WithWallSpriteBody.cs index dd321dde58..ac0a329d0d 100644 --- a/OpenRA.Mods.Common/Traits/Render/WithWallSpriteBody.cs +++ b/OpenRA.Mods.Common/Traits/Render/WithWallSpriteBody.cs @@ -40,7 +40,7 @@ namespace OpenRA.Mods.Common.Traits var haveNeighbour = false; foreach (var n in kv.Value) { - var rb = init.World.Map.Rules.Actors[n].TraitInfoOrDefault(); + var rb = init.World.Map.Rules.Actors[n].TraitInfos().FirstOrDefault(Exts.IsTraitEnabled); if (rb != null && rb.Type == Type) { haveNeighbour = true; @@ -107,7 +107,7 @@ namespace OpenRA.Mods.Common.Traits foreach (var a in adjacentActors) { CVec facing; - var wc = a.TraitOrDefault(); + var wc = a.TraitsImplementing().FirstOrDefault(Exts.IsTraitEnabled); if (wc == null || !wc.AdjacentWallCanConnect(a, self.Location, wallInfo.Type, out facing)) continue; @@ -132,13 +132,12 @@ namespace OpenRA.Mods.Common.Traits static void UpdateNeighbours(Actor self) { - var adjacentActors = CVec.Directions.SelectMany(dir => + var adjacentActorTraits = CVec.Directions.SelectMany(dir => self.World.ActorMap.GetActorsAt(self.Location + dir)) - .Select(a => a.TraitOrDefault()) - .Where(a => a != null); + .SelectMany(a => a.TraitsImplementing()); - foreach (var rb in adjacentActors) - rb.SetDirty(); + foreach (var aat in adjacentActorTraits) + aat.SetDirty(); } public void RemovedFromWorld(Actor self)