From 604018784468a45b67860cb110e31c51d9e51ac7 Mon Sep 17 00:00:00 2001 From: Gustas <37534529+PunkPun@users.noreply.github.com> Date: Mon, 7 Aug 2023 18:46:24 +0300 Subject: [PATCH] Fix `CurrentAdjacentCells` cache not acting as a cache --- OpenRA.Mods.Common/Traits/Cargo.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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);