private void OnEnable()
            {
                unityPluginConfig       = DirectoryUtil.CreateScriptableObject <UnityPluginConfig>("preset/plugins-script", false);
                unityPluginConfigEditor = Editor.CreateEditor(unityPluginConfig) as UnityPluginConfigEditor;

                projectScriptExportConfig       = DirectoryUtil.CreateScriptableObject <ProjectExportConfig>("preset/project-script", false);
                projectScriptExportConfigEditor = Editor.CreateEditor(projectScriptExportConfig) as ProjectExportConfigEditor;

                // scenes
                hierarchyExportConfig       = DirectoryUtil.CreateScriptableObject <HierarchyExportConfig>("quickexport/hierarchy", false);
                hierarchyExportConfigEditor = Editor.CreateEditor(hierarchyExportConfig) as HierarchyExportConfigEditor;
                sceneExportConfig           = DirectoryUtil.CreateScriptableObject <ExportSceneList>("quickexport/scenes", false);
                sceneExportEditor           = Editor.CreateEditor(sceneExportConfig) as ExportSceneListEditor;

                directoryExportConfig = DirectoryUtil.CreateScriptableObject <ExportDirectoryList>("quickexport/directories", false);
                directoryExportEditor = Editor.CreateEditor(directoryExportConfig) as ExportDirectoryListEditor;

                globalConfig       = DirectoryUtil.CreateScriptableObject <GlobalConfig>("bridge/entry/GlobalConfig", false);
                globalConfigEditor = Editor.CreateEditor(globalConfig) as GlobalConfigEditor;

                rawResourceExportConfig       = DirectoryUtil.CreateScriptableObject <RawResourceExportConfig>("quickexport/rawres", false);
                rawResourceExportConfigEditor = Editor.CreateEditor(rawResourceExportConfig) as RawResourceExportConfigEditor;

                BeefBall.DoInstallationCheck();

                ConfigManager.Init();
            }
Example #2
0
        protected override JSONObject ExportResource(ExportPreset preset)
        {
            if (material == null)
            {
                return(null);
            }
            string     name     = material.shader.name;
            JSONObject jsonFile = new JSONObject(JSONObject.Type.OBJECT);

            WXMaterialParser parser;
            string           parserName = name;

            if (name == "Skybox/6 Sided" || name == "Skybox/Cubemap")
            {
                parserName = "Skybox";
            }
            HierarchyExportConfig exportConfigs = preset.exportConfigs as HierarchyExportConfig;

            if (!parsers.ContainsKey(name) && exportConfigs.createEffectTemplate)
            {
                parserName = "CustomShader";
            }
            if (parsers.TryGetValue(parserName, out parser))
            {
                jsonFile = parser.parse(this, AddDependencies);
            }
            else if (component != null)
            {
                ErrorUtil.ExportErrorReporter.create()
                .setResource(this)
                .setGameObject(component.gameObject)
                .error(ErrorUtil.ErrorCode.Material_UnsupportedShader, "遇到了不支持的Shader: " + name);
            }

            string effectName = jsonFile.GetField("effect").GetRawString();
            string effectUUID;

            if (buildInEffectNameToUUIDMap.TryGetValue(effectName, out effectUUID))
            {
                jsonFile.SetField("effect", effectUUID);
            }

            JSONObject editorInfo = new JSONObject(JSONObject.Type.OBJECT);

            editorInfo.AddField("assetVersion", 3);
            jsonFile.AddField("editorInfo", editorInfo);

            return(jsonFile);
        }
Example #3
0
        protected override JSONObject ExportResource(ExportPreset preset)
        {
            if (material == null)
            {
                return(null);
            }
            string     name     = material.shader.name;
            JSONObject jsonFile = new JSONObject(JSONObject.Type.OBJECT);

            WXMaterialParser parser;
            string           parserName = name;

            if (name == "Skybox/6 Sided" || name == "Skybox/Cubemap")
            {
                parserName = "Skybox";
            }
            HierarchyExportConfig exportConfigs = preset.exportConfigs as HierarchyExportConfig;

            if (!parsers.ContainsKey(name) && exportConfigs.createEffectTemplate)
            {
                parserName = "CustomShader";
            }
            if (parsers.TryGetValue(parserName, out parser))
            {
                jsonFile = parser.parse(this, AddDependencies);
            }
            else if (component != null)
            {
                Debug.LogErrorFormat("WXBeefBallMaterial: Unsupported Shader {0} in {1}, which {2} is using!", name, unityAssetPath, component.name);
            }

            string effectName = jsonFile.GetField("effect").GetRawString();
            string effectUUID;

            if (buildInEffectNameToUUIDMap.TryGetValue(effectName, out effectUUID))
            {
                jsonFile.SetField("effect", effectUUID);
            }

            JSONObject editorInfo = new JSONObject(JSONObject.Type.OBJECT);

            editorInfo.AddField("assetVersion", 3);
            jsonFile.AddField("editorInfo", editorInfo);

            return(jsonFile);
        }