public void Export(BlockSelectionPacker packer) { Point3 p; for (int i = 0; i < blocks.Count; i++) { p = blocks [i]; packer.AddBlock(p.X, p.Y, p.Z); } }
public static BlockSelection Load(BlockSelectionPacker packer) { Point3[] positions = BlockSelectionPacker.ItemBlockPositions.LoadData(packer); Point3 c = positions [0]; for (int i = 1; i < positions.Length; i++) { c = (c + positions [i]) / 2; } return(new BlockSelection(c, positions)); }
public static Point3[] LoadData(BlockSelectionPacker packer) { byte[] dataArray = Base64Decode(packer.GetItem(name).Value); System.IO.BinaryReader reader = new System.IO.BinaryReader(new System.IO.MemoryStream(dataArray)); Point3[] result = new Point3[dataArray.Length * sizeof(int) / 3]; for (int i = 0; i < result.Length; i++) { result [i].X = reader.ReadInt32(); result [i].Y = reader.ReadInt32(); result [i].Z = reader.ReadInt32(); } return(result); }