public override void CreateTreeByData() { AllChunksInDict = new Dictionary<int, LinkedList<Chunk>>(); // 只在CW_DEBUG模式下进行设置信息的检查 #if CW_DEBUG if (Global.WorldSize % Global.ChunkSize != 0) { LogMgr.Log("世界宽度不能被Chunk宽度整除"); return; } if (Global.WorldHeight % 2 != 0) { LogMgr.Log("世界高度不能被2整除"); return; } #endif int ChunkSize = Global.ChunkSize; int WorldHeight = Global.WorldHeight; int Size = Global.WorldSize / ChunkSize; for (int i = 0; i < WorldHeight; i += 2) { AllChunksInDict[i] = new LinkedList<Chunk>(); for (int x = 0; x < Size; x++) { for (int y = 0; y < Size; y++) { Chunk TmpChunk = new Chunk( x * ChunkSize, i, y * ChunkSize, (x + 1) * ChunkSize - 1, i + 1, (y + 1) * ChunkSize - 1 ); AllChunksInDict[i].AddLast(TmpChunk); AllChunks.AddLast(TmpChunk); } } } }
public ChunkMeshCreator(Chunk chunk) : base(chunk) { }