public int Load() { string directoryPath = Application.dataPath + "/../Save/"; Directory.CreateDirectory(directoryPath); string saveFilePath = directoryPath + "grid.data"; FileStream saveFile = new FileStream(saveFilePath, FileMode.Open, FileAccess.Read); BinaryReader dataStream = new BinaryReader(saveFile); int b = dataStream.ReadByte(); while (b != -1) { byte[] cGlobalByte = dataStream.ReadBytes(6); Coordinates cGlobal = new Coordinates(cGlobalByte); if (b == 2) { byte[] reference = dataStream.ReadBytes(4); this.AddPanel(cGlobal, Object.ReferenceByteArrayToString(reference)); } else if (b == 3) { int rot = dataStream.ReadByte(); byte[] reference = dataStream.ReadBytes(4); this.AddItem(cGlobal, rot, Object.ReferenceByteArrayToString(reference)); } else if (b == 4) { int rot = dataStream.ReadByte(); byte[] reference = dataStream.ReadBytes(4); Container container = this.AddItem(cGlobal, rot, Object.ReferenceByteArrayToString(reference)) as Container; int contentCount = dataStream.ReadByte(); for (int i = 0; i < contentCount; i++) { Debug.Log("Loading content into Container"); reference = dataStream.ReadBytes(4); container.Add(InventoryObject.CreateFromRef(Object.ReferenceByteArrayToString(reference))); } } try { b = dataStream.ReadByte(); } catch (EndOfStreamException) { b = -1; } } dataStream.Close(); saveFile.Close(); return(1); }