86 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			86 lines
		
	
	
		
			3.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
|   | /* [REMOVE THIS LINE] | |||
|  |  * [REMOVE THIS LINE] If your code references scripts or assets that are outside of the Plugins | |||
|  |  * [REMOVE THIS LINE] folder, move this script outside of the Plugins folder, too. | |||
|  | 
 | |||
|  | using System; | |||
|  | using UnityEngine; | |||
|  | 
 | |||
|  | namespace PixelCrushers | |||
|  | { | |||
|  | 
 | |||
|  |     /// This is a starter template for Save System savers. To use it, | |||
|  |     /// make a copy, rename it, and remove the line marked above. | |||
|  |     /// Then fill in your code where indicated below. | |||
|  |     public class SaverTemplate : Saver // Rename this class. | |||
|  |     { | |||
|  | 
 | |||
|  |         /// A common approach is to store data to save in a class or struct, such as the one below. | |||
|  |         /// Mark it [Serializable] so the Save System can serialize it. | |||
|  |         [Serializable] | |||
|  |         public class Data | |||
|  |         { | |||
|  |             public bool someData; | |||
|  |         } | |||
|  | 
 | |||
|  |         public override string RecordData() | |||
|  |         { | |||
|  |             /// This method should return a string that represents the data you want to save. | |||
|  |             /// You can use SaveSystem.Serialize() to serialize a serializable object to a  | |||
|  |             /// string. This will use the serializer component on the Save System GameObject, | |||
|  |             /// which defaults to Unity's built-in JSON serialization. Remember that Unity | |||
|  | 			/// cannot directly serialize lists or arrays, so you must put them inside a | |||
|  | 			/// class. | |||
|  |             ///  | |||
|  |             /// If you use a class to hold the data, use SaveSystem.Serialize to return a  | |||
|  |             /// serialized version: | |||
|  |             ///  | |||
|  |             //Data data = new Data(); | |||
|  |             //data.someData = false; | |||
|  |             //return SaveSystem.Serialize(data); | |||
|  | 
 | |||
|  |             return string.Empty; | |||
|  |         } | |||
|  | 
 | |||
|  |         public override void ApplyData(string s) | |||
|  |         { | |||
|  |             /// This method should process the string representation of saved data and apply | |||
|  |             /// it to the current state of the game. You can use SaveSystem.Deserialize() | |||
|  |             /// to deserialize the string to an object that specifies the state to apply to | |||
|  |             /// the game. | |||
|  |             ///  | |||
|  |             //if (string.IsNullOrEmpty(s)) return; // No data to apply. | |||
|  |             //Data data = SaveSystem.Deserialize<Data>(s); | |||
|  |             //if (data == null) return; // Serialized string isn't valid. | |||
|  |             ////(do something with data here) | |||
|  |         } | |||
|  | 
 | |||
|  |         //public override void ApplyDataImmediate() | |||
|  |         //{ | |||
|  |         //    // If your Saver needs to pull data from the Save System immediately after | |||
|  |         //    // loading a scene, instead of waiting for ApplyData to be called at its | |||
|  |         //    // normal time, which may be some number of frames after the scene has started, | |||
|  |         //    // it can implement this method. For efficiency, the Save System will not look up  | |||
|  |         //    // the Saver's data; your method must look it up manually by calling  | |||
|  |         //    // SaveSystem.currentSavedGameData.GetData(key). | |||
|  |         //} | |||
|  | 
 | |||
|  |         //public override void OnBeforeSceneChange() | |||
|  |         //{ | |||
|  |         //    // The Save System will call this method before scene changes. If your saver listens for  | |||
|  |         //    // OnDisable or OnDestroy messages (see DestructibleSaver for example), it can use this  | |||
|  |         //    // method to ignore the next OnDisable or OnDestroy message since they will be called | |||
|  |         //    // because the entire scene is being unloaded. | |||
|  |         //} | |||
|  | 
 | |||
|  |         //public override void OnRestartGame() | |||
|  |         //{ | |||
|  |         //    // The Save System will call this method when restarting the game from the beginning. | |||
|  |         //    // Your Saver can reset things to a fresh state if necessary. | |||
|  |         //} | |||
|  | 
 | |||
|  |     } | |||
|  | 
 | |||
|  | } | |||
|  | 
 | |||
|  | /**/ |