public static BuildProfile CreateAssetAtPath(string path) { BuildProfile asset = ScriptableObject.CreateInstance <BuildProfile>(); asset.name = Path.GetFileName(path); AssetDatabase.CreateAsset(asset, path); return(asset); }
void PopulateAssets() { var buildTemplates = AssetDatabase.FindAssets("t:BuildTemplate"); var buildProfiles = AssetDatabase.FindAssets("t:BuildProfile"); var sceneLists = AssetDatabase.FindAssets("t:SceneList"); m_BuildTemplates = new Dictionary <string, List <BuildTemplate> >(); m_BuildProfiles = new List <BuildProfile>(); m_SceneLists = new List <SceneList>(); foreach (var templateGUID in buildTemplates) { string templatePath = AssetDatabase.GUIDToAssetPath(templateGUID); BuildTemplate template = (BuildTemplate)AssetDatabase.LoadAssetAtPath(templatePath, typeof(BuildTemplate)); if (!m_BuildTemplates.ContainsKey(template.Category)) { m_BuildTemplates.Add(template.Category, new List <BuildTemplate>()); } m_BuildTemplates[template.Category].Add(template); } foreach (var profileGUID in buildProfiles) { string profilePath = AssetDatabase.GUIDToAssetPath(profileGUID); BuildProfile profile = (BuildProfile)AssetDatabase.LoadAssetAtPath(profilePath, typeof(BuildProfile)); m_BuildProfiles.Add(profile); } foreach (var sceneListGUID in sceneLists) { string sceneListPath = AssetDatabase.GUIDToAssetPath(sceneListGUID); SceneList sceneList = (SceneList)AssetDatabase.LoadAssetAtPath(sceneListPath, typeof(SceneList)); m_SceneLists.Add(sceneList); } }
public override void Action(int instanceId, string pathName, string resourceFile) { BuildProfile asset = BuildProfileAssetFactory.CreateAssetAtPath(pathName); ProjectWindowUtil.ShowCreatedAsset(asset); }