public void SwitchDimension() { while (!finishedPreloading) { Thread.Sleep(100); } Main.NewText("Switching dimension to " + tempData.dim); Main.tile = tempData.tileData; Main.chest = tempData.chest; Main.sign = tempData.sign; currentDimension = tempData.dim; dimensions[(int)tempData.dim] = new Dimension(currentDimension, dimensions[(int)tempData.dim].GetExtraData()); tempData = new TempDimData(); finishedPreloading = false; }
public void PreloadDimension(Dimensions dim) { mod.Logger.Info("Preloading dimension " + dim); Main.NewText("Preloading dimension " + dim); Dimension dimo = dimensions[(int)currentDimension]; dimo.data = Dimension.GetCompressedTileData(Main.tile); dimo.chest = Main.chest; dimo.sign = Main.sign; Dimension nextDim = dimensions[(int)dim]; tempData = new TempDimData(Dimension.DecompressTileData(nextDim.data, Main.tile.GetLength(0), Main.tile.GetLength(1)), nextDim.chest, nextDim.sign, dim); //Tile[,] tileData = Dimension.DecompressTileData(nextDim.data, Main.tile.GetLength(0), Main.tile.GetLength(1)); finishedPreloading = true; }