public void ReadMetaFile() { if (reader == null) throw new NullReferenceException("BinaryReader null!"); metaFile = new Minecraft2DMeta(); int count = 0; while(count < 2) //two lines atm { switch(count) { case 0: //World Size string worldSizeInput = reader.ReadString(); string[] split = worldSizeInput.Split(new char[] { 'x' }, 2); metaFile.WorldSize = new Vector2i(int.Parse(split[0]) * 32, int.Parse(split[1]) * 32); metaFile.WorldSizeInBlocks = new Vector2i(int.Parse(split[0]), int.Parse(split[1])); break; case 1: //World name string worldNameInput = reader.ReadString(); metaFile.WorldName = worldNameInput.Trim('\"'); break; case 2: //Player save position string playerPositionInput = reader.ReadString(); string[] split2 = playerPositionInput.Split(new char[] { ',' }, 2); metaFile.PlayerLocation = new Vector2(float.Parse(split2[0]), float.Parse(split2[1])); break; } count++; } }
public WorldObjects(World wld) { MetaFile = new Minecraft2DMeta(); MetaFile.WorldSize = new Vector2i(100 * 32, 256 * 32); MetaFile.WorldSizeInBlocks = new Vector2i(100, 256); ForegroundLayerTiles = new Tile[MetaFile.WorldSizeInBlocks.Y, MetaFile.WorldSizeInBlocks.X]; BackgroundLayerTiles = new Tile[MetaFile.WorldSizeInBlocks.Y, MetaFile.WorldSizeInBlocks.X]; Lightmap = new int[MetaFile.WorldSizeInBlocks.Y, MetaFile.WorldSizeInBlocks.X]; MetaFile.WorldName = "World1"; _worldRef = wld; WorldIndex = 0; }
public BinaryMetaWriter(string path, Minecraft2DMeta meta) { if(File.Exists(path)) { try { File.Delete(path); } catch (Exception ex) { Console.WriteLine("Error writing meta binary: " + ex.Message); } } writer = new BinaryWriter(File.Open(path, FileMode.CreateNew)); metaFile = meta; }
public BinarySaveReader(string path, Minecraft2DMeta meta, bool bg = false) { reader = new BinaryReader(File.Open(path, FileMode.Open)); isBg = bg; metaFile = meta; }