/// <summary> /// Saves the ultimate pinball gamemode, so the game knows what gameode to play when the level scene is loaded... /// </summary> /// <param name="Gamemode">gamemode as an int value</param> /// <param name="Increment">how much the value should increment when in the menu</param> /// <param name="LastValue">the last value for the gamemode</param> public static void SaveUltimatePinballGamemode(int Gamemode = 0, int Increment = 0, int LastValue = 0) { BinaryFormatter Formatter = new BinaryFormatter(); string SavePath = Application.persistentDataPath + "/ultimatepinball.masf"; FileStream Stream = new FileStream(SavePath, FileMode.OpenOrCreate); UltimatePinballData Data = new UltimatePinballData(); Data.LastGameTypeSelected = Gamemode; Data.LastGameTypeIncrement = Increment; Data.LastGameTypeAmountSelected = LastValue; Formatter.Serialize(Stream, Data); Stream.Close(); }
/// <summary> /// Loads the ultimate pinball game data /// </summary> /// <returns>UltimatePinballData with the loaded data</returns> public static UltimatePinballData LoadUltimatePinball() { string SavePath = Application.persistentDataPath + "/ultimatepinball.masf"; if (File.Exists(SavePath)) { BinaryFormatter Formatter = new BinaryFormatter(); FileStream Stream = new FileStream(SavePath, FileMode.Open); UltimatePinballData Data = Formatter.Deserialize(Stream) as UltimatePinballData; Stream.Close(); return(Data); } else { Debug.LogError("Save file not found! (Ultimate Pinball - 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(); } }