/// <summary> /// Saves the last pinball game results using the correct data passed through... /// </summary> /// <param name="Input">data to send</param> public static void SaveUltimatePinballSession(UltimatePinballSessionData Input) { BinaryFormatter Formatter = new BinaryFormatter(); string SavePath = Application.persistentDataPath + "/ultimatepinballsession.masf"; FileStream Stream = new FileStream(SavePath, FileMode.OpenOrCreate); UltimatePinballSessionData Data = new UltimatePinballSessionData(); Data = Input; Formatter.Serialize(Stream, Data); Stream.Close(); }
/// <summary> /// Saves the last pinball game resutls using player stats /// </summary> /// <param name="Player1Stats">Stats for Player 1</param> /// <param name="Player2Stats">Stats for Player 2</param> public static void SaveUltimatePinballSession(GameManager.BG_PlayerStats Player1Stats, GameManager.BG_PlayerStats Player2Stats) { BinaryFormatter Formatter = new BinaryFormatter(); string SavePath = Application.persistentDataPath + "/ultimatepinballsession.masf"; FileStream Stream = new FileStream(SavePath, FileMode.OpenOrCreate); UltimatePinballSessionData Data = new UltimatePinballSessionData(); Data.Player1Name = Player1Stats.Name; Data.Player1Score = Player1Stats.Score; Data.Player1Health = Player1Stats.Health; Data.Player2Name = Player2Stats.Name; Data.Player2Score = Player2Stats.Score; Data.Player2Health = Player2Stats.Health; Formatter.Serialize(Stream, Data); Stream.Close(); }
/// <summary> /// Loads the last session played info for use in UI /// </summary> /// <returns>UltimatePinballData with the loaded data</returns> public static UltimatePinballSessionData LoadLastUltimatePinballSession() { string SavePath = Application.persistentDataPath + "/ultimatepinballsession.masf"; if (File.Exists(SavePath)) { BinaryFormatter Formatter = new BinaryFormatter(); FileStream Stream = new FileStream(SavePath, FileMode.Open); UltimatePinballSessionData Data = Formatter.Deserialize(Stream) as UltimatePinballSessionData; Stream.Close(); return(Data); } else { Debug.LogError("Save file not found! (Ultimate Pinball Session - Load)"); return(null); } }
/* * Format Types * * masf = Micro Arcade Save File * malf = Micro Arcade Leaderboard File * */ /// <summary> /// Creates all the save files with default vlaues if they do not exist on the system (helps avoid errors later on) /// </summary> public static void InitialseFiles() { BinaryFormatter _formatter = new BinaryFormatter(); string baseSavePath = Application.persistentDataPath; FileStream _stream; // Create Save Files // /settings.masf if (!File.Exists(baseSavePath + "/settings.masf")) { _stream = new FileStream(baseSavePath + "/settings.masf", FileMode.Create); ArcadeData _settingsData = new ArcadeData(); _formatter.Serialize(_stream, _settingsData); _stream.Close(); } // /controlconfig.masf -- is not made here as it works when you first run the project with a multi input //if (!File.Exists(baseSavePath + "/controlconfig.masf")) //{ // _stream = new FileStream(baseSavePath + "/controlconfig.masf", FileMode.Create); // ArcadeData _controlData = new ArcadeData(); // _formatter.Serialize(_stream, _controlData); // _stream.Close(); //} // /arcadeonline.masf if (!File.Exists(baseSavePath + "/arcadeonline.masf")) { _stream = new FileStream(baseSavePath + "/arcadeonline.masf", FileMode.Create); ArcadeOnlinePaths _onlineData = new ArcadeOnlinePaths(); _formatter.Serialize(_stream, _onlineData); _stream.Close(); } // Pinball Save Files // /ultimatepinball.masf if (!File.Exists(baseSavePath + "/ultimatepinball.masf")) { _stream = new FileStream(baseSavePath + "/ultimatepinball.masf", FileMode.Create); UltimatePinballData _pinballData = new UltimatePinballData(); _formatter.Serialize(_stream, _pinballData); _stream.Close(); } // /ultimatepinballsession.masf if (!File.Exists(baseSavePath + "/ultimatepinballsession.masf")) { _stream = new FileStream(baseSavePath + "/ultimatepinballsession.masf", FileMode.Create); UltimatePinballSessionData _pinballSessionData = new UltimatePinballSessionData(); _formatter.Serialize(_stream, _pinballSessionData); _stream.Close(); } // /ultimatepinballsession.malf if (!File.Exists(baseSavePath + "/ultimatepinball.malf")) { _stream = new FileStream(baseSavePath + "/ultimatepinball.malf", FileMode.Create); _formatter.Serialize(_stream, null); _stream.Close(); } // Operation Starshine Save Files // /operationstarshine.masf if (!File.Exists(baseSavePath + "/operationstarshine.masf")) { _stream = new FileStream(baseSavePath + "/operationstarshine.masf", FileMode.Create); OperationStarshineData _operationStarshineData = new OperationStarshineData(); _formatter.Serialize(_stream, _operationStarshineData); _stream.Close(); } // /operationstarshine.malf if (!File.Exists(baseSavePath + "/operationstarshine.malf")) { _stream = new FileStream(baseSavePath + "/operationstarshine.malf", FileMode.Create); StarshineLeaderboardData _operationStarshineLeaderboardData = new StarshineLeaderboardData(); _formatter.Serialize(_stream, _operationStarshineLeaderboardData); _stream.Close(); } // Quacking Time Save Files // /quackingtime.masf if (!File.Exists(baseSavePath + "/quackingtime.masf")) { _stream = new FileStream(baseSavePath + "/quackingtime.masf", FileMode.Create); QuackingTimeData _quackingTimeData = new QuackingTimeData(); _formatter.Serialize(_stream, _quackingTimeData); _stream.Close(); } // Crushing Save Files // /crushing.masf if (!File.Exists(baseSavePath + "/crushing.masf")) { _stream = new FileStream(baseSavePath + "/crushing.masf", FileMode.Create); CrushingData _crushingData = new CrushingData(); _formatter.Serialize(_stream, _crushingData); _stream.Close(); } }