예제 #1
0
 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);
         }
     }
 }
예제 #2
0
        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);
        }