/// <summary> /// Saves a Serialized version of the GAME CONTROLLER. Saves it as a GameController.SerializedGameController class, which is a custom class. /// </summary> /// <param name="fileName"></param> public static void SaveSerializedGameControlls(String fileName) { Stream fileStream = File.Open(fileName, FileMode.Create); BinaryFormatter formatter = new BinaryFormatter(); GameControlls.SerializedGameControlls dataToSerialize = new GameControlls.SerializedGameControlls(); //Create a new object that will hold our data. //GameControlls.SerializedGameControlls dataToSerialize = GameControlls.SerializedGameControlls.CreateInstance<GameControlls.SerializedGameControlls>(); //Create a new object that will hold our data. dataToSerialize._currentDifficulty = GameControlls.Instance.GetCurrentDifficulty(); dataToSerialize._introVideoPlayed = GameControlls.Instance.ReturnIntroVideoPlayedStatus(); //save mission list dataToSerialize._missionList = GameControlls.Instance.ReturnMissionList(); //Debug.Log("Save: " + dataToSerialize._missionList.Count); //Save unlocked cylinders dataToSerialize._unlockedCylinders = GameControlls.Instance.ReturnAlreadyUnlockedCylinders(); //Save MK values dataToSerialize._steamHammerMK = GameControlls.Instance.ReturnAWeaponsMKValue("STEAM_HAMMER"); dataToSerialize._steamCannonMK = GameControlls.Instance.ReturnAWeaponsMKValue("STEAM_CANNON"); dataToSerialize._steamMagnetMK = GameControlls.Instance.ReturnAWeaponsMKValue("STEAM_MAGNET"); dataToSerialize._steamRailGunMK = GameControlls.Instance.ReturnAWeaponsMKValue("STEAM_RAILGUN"); dataToSerialize._teslaRayMK = GameControlls.Instance.ReturnAWeaponsMKValue("TESLA_RAY"); dataToSerialize._rotarSawMK = GameControlls.Instance.ReturnAWeaponsMKValue("STEAM_SAW"); formatter.Serialize(fileStream, dataToSerialize); fileStream.Close(); }
/// <summary> /// Loads the Serialized object that holds the saved GAME CONTROLLER data. Deserialzied it as a GameController.SerializedGameController object, which is a custom made object. It then /// calls a method that assigns the deserialized objects values to the GameController so it has the saved values. /// </summary> /// <param name="filename"></param> public static void LoadSerialziedGameControlls(String filename) { Stream fileStream = File.Open(filename, FileMode.Open, FileAccess.Read); BinaryFormatter formatter = new BinaryFormatter(); GameControlls.SerializedGameControlls data = (GameControlls.SerializedGameControlls)formatter.Deserialize(fileStream); fileStream.Close(); // Debug.Log("Load " + data._missionList.Count); data.AssignSavedValues(data); //Calls a method that assigns the saved data to the game controller so we have the saved values. }