private static void CreateChunk() { for (int i = 0; i < Main.maxTilesX; i += Chunk.Chunk.sizeX) { for (int j = 0; j < Main.maxTilesY; j += Chunk.Chunk.sizeY) { Chunk.Chunk newChunk = new Chunk.Chunk(i, j); newChunk.AddMissingModChunk(); chunkList.Add(newChunk.chunkInternalName, newChunk); } } }
private void LoadChunk(TagCompound tag) { foreach (KeyValuePair <string, object> chunk in tag) { TagCompound chunkData = tag.GetCompound(chunk.Key); Chunk.Chunk newChunk = new Chunk.Chunk(chunkData.GetInt("x"), chunkData.GetInt("y")); newChunk.Load(chunkData); /*foreach (var chunkType in ChunkLoader.chunkDictionnary.Values) * { * if (chunkData.ContainsKey(chunkType.GetType().Name)) * { * ModChunk modChunk = (ModChunk) Activator.CreateInstance(chunkType.GetType()); * modChunk.Load(tag.GetCompound(chunkType.GetType().Name)); * } * }*/ chunkList.Add(chunk.Key, newChunk); } ThreadPool.QueueUserWorkItem(UpdateChunkLoop); }