private CachedTileTemperatureData RetrieveCachedData(int tile) { if (cache[tile] != null) { return(cache[tile]); } cache[tile] = new CachedTileTemperatureData(tile); usedSlots.Add(tile); return(cache[tile]); }
private static CachedTileTemperatureData RetrieveCachedData2(TileTemperaturesComp __instance, int tile) { if (cache[tile] != null) { return(cache[tile]); } cache[tile] = new CachedTileTemperatureData(tile); usedSlots[(Interlocked.Increment(ref endIndex) - 1) % tileCount] = tile; return(cache[tile]); }