unity3d 状态存储 PlayerPrefs高级用法
来源:互联网 发布:乐知少儿英语 编辑:程序博客网 时间:2024/04/29 10:07
using UnityEngine;using System.Xml.Serialization;using System.IO;public class StateStorage{ public static T LoadData<T>( string key ){ if ( PlayerPrefs.HasKey( key ) ) { XmlSerializer serializer = new XmlSerializer( typeof( T ) ); StringReader sr = new StringReader( PlayerPrefs.GetString( key ) ); return ( T )serializer.Deserialize( sr ); }else{ return default(T); } } public static void SaveData<T>( string key, T source ){ XmlSerializer serializer = new XmlSerializer( typeof( T ) ); StringWriter sw = new StringWriter(); serializer.Serialize( sw, source ); PlayerPrefs.SetString( key, sw.ToString() ); } public static void ClearData( string key ){ PlayerPrefs.DeleteKey( key ); } }