Exemple #1
0
        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);
            }
        }