public void Load(string playerPrefKey) { string message = ""; try { string tmp = PlayerPrefs.GetString(playerPrefKey, string.Empty); if (tmp != string.Empty) { MemoryStream memoryStream = new MemoryStream(System.Convert.FromBase64String(tmp)); GameState.GameStateObject gameObject = (GameState.GameStateObject)bf.Deserialize(memoryStream); gamestate.Instance.setActiveLevel(activeLevel_default); // Active level gamestate.Instance.SetLevelProgress(gameObject.levelProgress); //the max level the have achieved //gamestate.Instance.SetNumberOfLevels(gameObject.numberOfLevels); //the number of levels that exist in the game gamestate.Instance.SetScore(score_default); //the current game score gamestate.Instance.SetHighScore(gameObject.highScore); //the highScore for the game since install gamestate.Instance.SetLives(lives_default); //the number of lives the player has gamestate.Instance.SetHealth(health_default); gamestate.Instance.SetGameRunning(gameRunning_default); } } catch (Exception ex) { message = ex.Message; } }
/// <summary> /// Save this instance to player prefs /// </summary> public void Save(string playerPrefKey) { string message = ""; try { GameState.GameStateObject serializableObject = new GameState.GameStateObject(); serializableObject.activeLevel = getActiveLevel(); serializableObject.gameRunning = IsGameRunning(); serializableObject.health = GetHealth(); serializableObject.highScore = getHighScore(); serializableObject.lives = getLives(); serializableObject.levelProgress = getLevelProgress(); serializableObject.numberOfLevels = GetNumberOfLevels(); serializableObject.score = getScore(); System.IO.MemoryStream memoryStream = new MemoryStream(); bf.Serialize(memoryStream, serializableObject); string tmp = System.Convert.ToBase64String(memoryStream.ToArray()); PlayerPrefs.SetString(playerPrefKey, tmp); } catch (Exception ex) { message = ex.Message; } }