public static void OnGenerateStarted_ResizeDrafts(TerrainTile tile, TileData draftTileData, StopToken stop) { if (!draftTileData.isDraft) { return; } TileData mainTileData = tile.main?.data; if (mainTileData == null) { return; } if (!lockDatas.TryGetValue(draftTileData, out Dictionary <Lock, LockDataSet> draftLockDatasDict)) { return; } if (!lockDatas.TryGetValue(mainTileData, out Dictionary <Lock, LockDataSet> mainLockDatasDict)) { return; } foreach (var kvp in draftLockDatasDict) { Lock lk = kvp.Key; if (!lk.rescaleDraft) { continue; } LockDataSet draftLockData = kvp.Value; LockDataSet mainLockData; if (!mainLockDatasDict.TryGetValue(lk, out mainLockData)) { continue; } LockDataSet.Resize(mainLockData, draftLockData); } }