public override void OnEnter() { if (base64Data != null && !string.IsNullOrEmpty(base64Data.Value)) { // First convert base64 back to byte[] byte[] binaryData = System.Convert.FromBase64String(base64Data.Value); // Next convert byte[] to our custom saved game data class DemoSavedGameData dataObject = ByteArrayToSavedGameData(binaryData); if (dataObject != null) { demoValue.Value = dataObject.demoInt; } else { Debug.Log("Error constructing demo saved game data object."); } } else { Debug.Log("Nothing to parse."); } Finish(); }
byte[] SavedGameDataToByteArray(DemoSavedGameData dataObj) { if (dataObj != null) { // Convert to json string string jsonStr = JsonUtility.ToJson(dataObj); // Json string to byte[] return(System.Text.Encoding.UTF8.GetBytes(jsonStr)); } return(null); }
DemoSavedGameData ByteArrayToSavedGameData(byte[] data) { if (data != null) { // Byte[] data to json string string jsonStr = System.Text.Encoding.UTF8.GetString(data); // Json string to object DemoSavedGameData savedData = JsonUtility.FromJson <DemoSavedGameData>(jsonStr); return(savedData); } return(null); }