public void DeSerialization() { string path = Application.dataPath + "/Config/map.bin"; byte[] bytes = System.IO.File.ReadAllBytes(path); pkgWorldData worldData = new pkgWorldData(); worldData.MergeFrom(bytes); x_add = worldData.XAdd / 1000.00f; z_add = worldData.ZAdd / 1000.00f; x_max = worldData.XMax; z_max = worldData.ZMax; for (int i = 0; i < x_max; i++) { for (int j = 0; j < z_max; j++) { items[i, j].state = 0; } } int x = 0, z = 0; for (int i = 0; i < worldData.Datas.Count; i++) { x = worldData.Datas[i].Position / 100; z = worldData.Datas[i].Position % 100; items[x, z].state = worldData.Datas[i].State; } //==== DrawBox(); }
public void Serialization() { pkgWorldData worldData = new pkgWorldData(); worldData.XAdd = (int)(x_add * 1000); worldData.ZAdd = (int)(z_add * 1000); worldData.XMax = x_max; worldData.ZMax = z_max; for (int i = 0; i < x_max; i++) { for (int j = 0; j < z_max; j++) { if (items[i, j].state != 0) { pkgCell pkgCell = new pkgCell(); pkgCell.Position = i * 100 + j; pkgCell.State = items[i, j].state; worldData.Datas.Add(pkgCell); } } } byte[] bytes = worldData.ToByteArray(); string path = Application.dataPath + "/Config/map.bin"; System.IO.File.WriteAllBytes(path, bytes); }