public string Export(ScriptExportType exportType) { if (exportType.DeclaringType != null) { throw new NotSupportedException("You can export only topmost types"); } if (IsBuiltInType(exportType)) { return(null); } string subPath = GetExportSubPath(exportType); string filePath = Path.Combine(m_exportPath, subPath); string uniqueFilePath = ToUniqueFileName(filePath); string directory = Path.GetDirectoryName(uniqueFilePath); if (!DirectoryUtils.Exists(directory)) { DirectoryUtils.CreateVirtualDirectory(directory); } using (Stream fileStream = FileUtils.CreateVirtualFile(uniqueFilePath)) { using (StreamWriter writer = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { exportType.Export(writer); } } AddExportedType(exportType); return(uniqueFilePath); }
private static TextWriter CreateWriter(string path, bool append) { FileMode mode = append ? FileMode.Append : FileMode.Create; RollingFileStream fs = new RollingFileStream(path, 0x100000, 10, mode, FileShare.Read); InvariantStreamWriter writer = new InvariantStreamWriter(fs, Encoding.Default); return(writer); }
public void Export(IExportContainer container, Object asset, string path, Action <IExportContainer, Object, string> callback) { using (FileStream fileStream = FileUtils.Open(path, FileMode.Create, FileAccess.Write)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, Encoding.UTF8)) { YAMLWriter writer = new YAMLWriter(); YAMLDocument doc = asset.ExportYAMLDocument(container); writer.AddDocument(doc); writer.Write(streamWriter); } } callback?.Invoke(container, asset, path); }
public bool Export(IExportContainer container, Object asset, string path) { using (Stream fileStream = FileUtils.CreateVirtualFile(path)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); YAMLDocument doc = asset.ExportYAMLDocument(container); writer.AddDocument(doc); writer.Write(streamWriter); } } return(true); }
public void Export(IExportContainer container, Object asset, string path, Action <IExportContainer, Object, string> callback) { using (Stream fileStream = FileUtils.CreateVirtualFile(path)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); YAMLDocument doc = asset.ExportYAMLDocument(container); writer.AddDocument(doc); writer.Write(streamWriter); } } callback?.Invoke(container, asset, path); }
public void Export(IExportContainer container, IEnumerable<Object> assets, string path) { using (FileStream fileStream = FileUtils.Open(path, FileMode.Create, FileAccess.Write)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); writer.WriteHead(streamWriter); foreach (Object asset in assets) { YAMLDocument doc = asset.ExportYAMLDocument(container); writer.WriteDocument(doc); } writer.WriteTail(streamWriter); } } }
protected void ExportMeta(IExportContainer container, Meta meta, string filePath) { string metaPath = $"{filePath}.meta"; using (Stream fileStream = FileUtils.CreateVirtualFile(metaPath)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); YAMLDocument doc = meta.ExportYAMLDocument(container); writer.IsWriteDefaultTag = false; writer.IsWriteVersion = false; writer.AddDocument(doc); writer.Write(streamWriter); } } }
protected static void ExportMeta(IExportContainer container, Meta meta, string filePath) { string metaPath = $"{filePath}{MetaExtension}"; using (var fileStream = FileUtils.CreateVirtualFile(metaPath)) using (var stream = new BufferedStream(fileStream)) using (var streamWriter = new InvariantStreamWriter(stream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); writer.IsWriteDefaultTag = false; writer.IsWriteVersion = false; writer.IsFormatKeys = true; YAMLDocument doc = meta.ExportYAMLDocument(container); writer.AddDocument(doc); writer.Write(streamWriter); } }
public bool Export(IExportContainer container, IEnumerable <Object> assets, string path) { using (Stream fileStream = FileUtils.CreateVirtualFile(path)) { using (StreamWriter streamWriter = new InvariantStreamWriter(fileStream, new UTF8Encoding(false))) { YAMLWriter writer = new YAMLWriter(); writer.WriteHead(streamWriter); foreach (Object asset in assets) { YAMLDocument doc = asset.ExportYAMLDocument(container); writer.WriteDocument(doc); } writer.WriteTail(streamWriter); } } return(true); }
public void ExportBinary(IExportContainer container, Stream stream, Func <ShaderGpuProgramType, ShaderTextExporter> exporterInstantiator) { if (IsSerialized(container.Version)) { using (StreamWriter writer = new InvariantStreamWriter(stream, Encoding.UTF8)) { ParsedForm.Export(writer, this, exporterInstantiator); } } else if (IsEncoded(container.Version)) { using (StreamWriter writer = new InvariantStreamWriter(stream, Encoding.UTF8)) { string header = Encoding.UTF8.GetString(Script); SubProgramBlob.Export(writer, header, exporterInstantiator); } } else { base.ExportBinary(container, stream); } }
public override bool Export(ProjectAssetContainer container, string dirPath) { string subPath = Path.Combine(dirPath, ProjectSettingsName); string fileName = $"{EditorBuildSettings.ClassID.ToString()}.asset"; string filePath = Path.Combine(subPath, fileName); if (!DirectoryUtils.Exists(subPath)) { DirectoryUtils.CreateDirectory(subPath); } BuildSettings asset = (BuildSettings)Asset; IEnumerable <Scene> scenes = asset.Scenes.Select(t => new Scene(t, container.SceneNameToGUID(t))); EditorBuildSettings.Initialize(scenes); AssetExporter.Export(container, EditorBuildSettings, filePath); fileName = $"{EditorSettings.ClassID.ToString()}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, EditorSettings, filePath); if (NavMeshProjectSettings != null) { fileName = $"{NavMeshProjectSettings.ExportName}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, NavMeshProjectSettings, filePath); } if (NetworkManager != null) { fileName = $"{NetworkManager.ExportName}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, NetworkManager, filePath); } if (Physics2DSettings != null) { fileName = $"{Physics2DSettings.ExportName}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, Physics2DSettings, filePath); } if (UnityConnectSettings != null) { fileName = $"{UnityConnectSettings.ExportName}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, UnityConnectSettings, filePath); } if (QualitySettings != null) { fileName = $"{QualitySettings.ExportName}.asset"; filePath = Path.Combine(subPath, fileName); AssetExporter.Export(container, QualitySettings, filePath); } fileName = $"ProjectVersion.txt"; filePath = Path.Combine(subPath, fileName); using (FileStream file = FileUtils.Create(filePath)) { using (StreamWriter writer = new InvariantStreamWriter(file, Encoding.UTF8)) { writer.Write("m_EditorVersion: 2017.3.0f3"); } } return(true); }