diff --git a/OpenRA.Mods.Common/Traits/Cargo.cs b/OpenRA.Mods.Common/Traits/Cargo.cs index b01ffc7ce8..1044df878d 100644 --- a/OpenRA.Mods.Common/Traits/Cargo.cs +++ b/OpenRA.Mods.Common/Traits/Cargo.cs @@ -107,9 +107,9 @@ namespace OpenRA.Mods.Common.Traits bool takeOffAfterLoad; bool initialised; - readonly CachedTransform> currentAdjacentCells; + readonly CachedTransform currentAdjacentCells; - public IEnumerable CurrentAdjacentCells => currentAdjacentCells.Update(self.Location); + public CPos[] CurrentAdjacentCells => currentAdjacentCells.Update(self.Location); public IEnumerable Passengers => cargo; public int PassengerCount => cargo.Count; @@ -123,8 +123,8 @@ namespace OpenRA.Mods.Common.Traits self = init.Self; checkTerrainType = info.UnloadTerrainTypes.Count > 0; - currentAdjacentCells = new CachedTransform>(loc => - Util.AdjacentCells(self.World, Target.FromActor(self)).Where(c => loc != c)); + currentAdjacentCells = new CachedTransform(loc => + Util.AdjacentCells(self.World, Target.FromActor(self)).Where(c => loc != c).ToArray()); var runtimeCargoInit = init.GetOrDefault(info); var cargoInit = init.GetOrDefault(info);