Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
            }
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
    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);
    }
Ejemplo n.º 6
0
 public static void Save <T>(string resName, string resPath, T obj, C_EnumSaveSerializer enumSerializer)
 {
     Save <T>(resName, resPath, obj, enumSerializer, m_DefaultEncoder, m_DefaultEncoding);
 }