public static void SaveGameState(SerializableCubeData cubeData, System.TimeSpan timeTakenSoFar) { PlayerPrefs.SetString(cubeDataKey, JsonUtility.ToJson(cubeData)); //Debug.Log(timeTakenSoFar.TotalSeconds.ToString()); PlayerPrefs.SetString(timeDataKey, timeTakenSoFar.TotalSeconds.ToString()); PlayerPrefs.Save(); //Debug.Log(PlayerPrefs.GetString(timeDataKey)); //Debug.Log(PlayerPrefs.GetString(cubeDataKey)); }
//Returns true if saved data was able to be loaded public static bool LoadGameState(out SerializableCubeData cubeData, out System.TimeSpan timeTakenSoFar) { if (!PlayerPrefs.HasKey(cubeDataKey) || !PlayerPrefs.HasKey(timeDataKey)) { Debug.LogError("Serialized data not found"); cubeData = default; timeTakenSoFar = default; return(false); } //Extract and unpack the cube grid data string jsonString = PlayerPrefs.GetString(cubeDataKey, ""); cubeData = JsonUtility.FromJson <SerializableCubeData>(jsonString); //Extract and unpack the time data string timeAsDoubleString = PlayerPrefs.GetString(timeDataKey, ""); timeTakenSoFar = System.TimeSpan.FromSeconds(double.Parse(timeAsDoubleString)); //Debug.Log(timeTakenSoFar); return(true); }