/// <summary> /// Saves Control Scheme /// </summary> /// <param name="Scheme">The supported controller setting to save</param> public static void SaveArcadeControlScheme(SupportedControllers Scheme) { BinaryFormatter Formatter = new BinaryFormatter(); string SavePath = Application.persistentDataPath + "/controlconfig.masf"; FileStream Stream = new FileStream(SavePath, FileMode.OpenOrCreate); ArcadeData Data = new ArcadeData(Scheme); Formatter.Serialize(Stream, Data); Stream.Close(); }
/// ========================================================================================================================= /// ========================================================================================================================= /// /// General Arcade ( Saving / Loading ) /// /// ========================================================================================================================= /// ========================================================================================================================= /// <summary> /// Saves Settings Data /// </summary> /// <param name="Settings">Settings Script With the data to save</param> public static void SaveArcadeSettings(Menu.SettingsScript Settings) { BinaryFormatter Formatter = new BinaryFormatter(); string SavePath = Application.persistentDataPath + "/settings.masf"; FileStream Stream = new FileStream(SavePath, FileMode.OpenOrCreate); ArcadeData Data = new ArcadeData(Settings); Formatter.Serialize(Stream, Data); Stream.Close(); }
/// <summary> /// Loads the Arcade control scheme /// </summary> /// <returns>ArcadeData with Control Scheme</returns> public static ArcadeData LoadArcadeControlScheme() { string SavePath = Application.persistentDataPath + "/controlconfig.masf"; if (File.Exists(SavePath)) { BinaryFormatter Formatter = new BinaryFormatter(); FileStream Stream = new FileStream(SavePath, FileMode.Open); ArcadeData Data = Formatter.Deserialize(Stream) as ArcadeData; Stream.Close(); return(Data); } else { Debug.LogError("Save file not found! (Arcade Control Scheme - 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(); } }