예제 #1
0
        public static void Save(string fullPath, ShaderCollection shaderCollection)
        {
            NativeFileStream fs = new NativeFileStream(fullPath, NativeFileMode.Create, NativeFileAccess.Write);

            try
            {
                BinarySerializer bs = new BinarySerializer(fs, SerializerMode.Write)
                {
                    AllowIdentity = true
                };
                bs.Serialize(ref shaderCollection);
            }
            catch (SerializationException e)
            {
                LogEvent.Tool.Error(e.Message);
                throw;
            }
            finally
            {
                fs.Dispose();
            }
        }
예제 #2
0
        public static ShaderCollection Load(string fullPath)
        {
            NativeFileStream fs = new NativeFileStream(fullPath, NativeFileMode.Open, NativeFileAccess.Read);

            try
            {
                ShaderCollection sc = null;
                BinarySerializer bs = new BinarySerializer(fs, SerializerMode.Read)
                {
                    AllowIdentity = true
                };
                bs.Serialize(ref sc);
                return(sc);
            }
            catch (SerializationException e)
            {
                LogEvent.Tool.Error(e.Message);
                throw;
            }
            finally
            {
                fs.Dispose();
            }
        }