static private PrefabBuildInfo GetPrefabBuildInfo(PrefabBuilder builder, Model.NodeData node, BuildTarget target, string groupKey) { var prefabCacheDir = FileUtility.EnsureCacheDirExists(target, node, PrefabBuilder.kCacheDirName); var buildInfoPath = FileUtility.PathCombine(prefabCacheDir, groupKey + ".asset"); return(AssetDatabase.LoadAssetAtPath <PrefabBuildInfo>(buildInfoPath)); }
static private AssetGenerateInfo GetAssetGenerateInfo(AssetGenerator.GeneratorEntry entry, Model.NodeData node, BuildTarget target, AssetReference asset) { var cacheDir = FileUtility.EnsureCacheDirExists(target, node, AssetGenerator.kCacheDirName); var generateInfoDir = FileUtility.PathCombine(cacheDir, entry.m_id); var generatorInfoPath = FileUtility.PathCombine(generateInfoDir, asset.fileNameAndExtension + ".asset"); return(AssetDatabase.LoadAssetAtPath <AssetGenerateInfo>(generatorInfoPath)); }
private string PrepareOutputDirectory(BuildTarget target, Model.NodeData node) { var outputOption = (OutputOption)m_outputOption [target]; if (outputOption == OutputOption.CreateInCacheDirectory) { return(FileUtility.EnsureCacheDirExists(target, node, kCacheDirName)); } return(Path.Combine("Assets", m_outputDir [target])); }
static public void SavePrefabBuildInfo(string buildPath, PrefabBuilder builder, Model.NodeData node, BuildTarget target, string groupKey, List <AssetReference> assets) { var prefabCacheDir = FileUtility.EnsureCacheDirExists(target, node, PrefabBuilder.kCacheDirName); var buildInfoPath = FileUtility.PathCombine(prefabCacheDir, groupKey + ".asset"); var version = PrefabBuilderUtility.GetPrefabBuilderVersion(builder.Builder.ClassName); var buildInfo = ScriptableObject.CreateInstance <PrefabBuildInfo>(); buildInfo.Initialize(buildPath, groupKey, builder.Builder.ClassName, builder.Builder[target], version, builder.Options, assets); AssetDatabase.CreateAsset(buildInfo, buildInfoPath); }
private string PrepareOutputDirectory(BuildTarget target, Model.NodeData node, AssetReference a) { var outputOption = (OutputOption)m_outputOption [target]; if (outputOption == OutputOption.CreateInSelectedDirectory) { return(Path.Combine("Assets", m_outputDir [target])); } if (outputOption == OutputOption.CreateInCacheDirectory) { return(FileUtility.EnsureCacheDirExists(target, node, kCacheDirName)); } var sourceDir = Path.GetDirectoryName(a.importFrom); return(FileUtility.PathCombine(sourceDir, m_outputDir [target])); }
static public void SaveAssetGenerateInfo(AssetGenerator.GeneratorEntry entry, Model.NodeData node, BuildTarget target, AssetReference asset) { var cacheDir = FileUtility.EnsureCacheDirExists(target, node, AssetGenerator.kCacheDirName); var generateInfoDir = FileUtility.PathCombine(cacheDir, entry.m_id); if (!Directory.Exists(generateInfoDir)) { Directory.CreateDirectory(generateInfoDir); } var generatorInfoPath = FileUtility.PathCombine(generateInfoDir, asset.fileNameAndExtension + ".asset"); var version = AssetGeneratorUtility.GetVersion(entry.m_instance.ClassName); var info = ScriptableObject.CreateInstance <AssetGenerateInfo>(); info.Initialize(entry.m_instance.ClassName, entry.m_instance[target], version, asset); AssetDatabase.CreateAsset(info, generatorInfoPath); }
public override void Build(BuildTarget target, Model.NodeData nodeData, IEnumerable <PerformGraph.AssetGroups> incoming, IEnumerable <Model.ConnectionData> connectionsToOutput, PerformGraph.Output outputFunc, Action <Model.NodeData, string, float> progressFunc) { if (m_freezeGroups) { m_savedGroups = new SerializableGroups(m_lastOutputGroups); // export current setting to file var prefabOutputDir = FileUtility.EnsureCacheDirExists(target, nodeData, kCacheDirName); var outputFilePath = Path.Combine(prefabOutputDir, nodeData.Name + ".json"); string jsonString = JsonUtility.ToJson(m_savedGroups, true); File.WriteAllText(outputFilePath, jsonString, System.Text.Encoding.UTF8); } }