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