public static void Save <T>(string resName, string resPath, T obj, C_EnumSaveSerializer enumSerializer, C_ISaveEncoder encoder, Encoding encoding) { if (string.IsNullOrEmpty(resName) || obj == null || encoder == null || encoding == null) { Debug.LogError("C_Save Save Param Error!! resName = " + resName + ", resPath = " + resPath); return; } byte[] bytes = ConvertByte <T>(obj, enumSerializer); SaveByte(resName, resPath, bytes, "", encoder); }
public static C_ISaveSerializer GetSaveSerializer(C_EnumSaveSerializer enumSerializer) { switch (enumSerializer) { case C_EnumSaveSerializer.SaveJsonSerializer: return(new C_SaveJsonSerializer()); case C_EnumSaveSerializer.SaveXmlSerializer: return(new C_SaveXmlSerializer()); default: return(new C_SaveBinarySerializer()); } }
public static T Load <T>(string resName, byte[] resData, T defaultValue, C_EnumSaveSerializer enumSerializer, C_ISaveEncoder encoder, Encoding encoding) { if (resData == null) { return(defaultValue); } Stream stream = new MemoryStream(resData, true); C_ISaveSerializer serializer = GetSaveSerializer(enumSerializer); T result = serializer.Deserialize <T>(stream, encoding); stream.Close(); return(result); }
public static byte[] ConvertByte <T>(T obj, C_EnumSaveSerializer enumSerializer) { if (obj == null) { Debug.LogError("C_Save ConvertByte Param Error!!"); return(null); } Stream stream = new MemoryStream(); C_ISaveSerializer serializer = GetSaveSerializer(enumSerializer); serializer.Serialize(obj, stream, m_DefaultEncoding); byte[] bytes = new byte[stream.Length]; stream.Seek(0, SeekOrigin.Begin); stream.Read(bytes, 0, bytes.Length); stream.Close(); return(bytes); }
public void Save <T>(string resName, string resPath, T obj, C_EnumSaveSerializer enumSerializer = C_EnumSaveSerializer.SaveBinarySerializer) { resPath = LocalPath.HotUpdatePath + resPath; C_Save.Save <T>(resName, resPath, obj, enumSerializer); }
public static void Save <T>(string resName, string resPath, T obj, C_EnumSaveSerializer enumSerializer) { Save <T>(resName, resPath, obj, enumSerializer, m_DefaultEncoder, m_DefaultEncoding); }