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);

            fileName = $"ProjectVersion.txt";
            filePath = Path.Combine(subPath, fileName);

            using (FileStream file = FileUtils.Create(filePath))
            {
                using (StreamWriter writer = new StreamWriter(file))
                {
                    writer.Write("m_EditorVersion: 2017.3.0f3");
                }
            }
            return(true);
        }
예제 #2
0
        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);
        }