准备
- AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName
获取ab包内所有包含assetname的路径 - EditorSceneManager.LoadSceneAsyncInPlayMode
编辑器中使用,用于切换场景 - AssetDatabase.LoadMainAssetAtPath
加载项目内的资源
示例
void EditorLoadAbContent()
{
var levels = AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName("scene", "New Scene");
if (levels.Length > 0)
{
var loadParamters = new LoadSceneParameters(LoadSceneMode.Single);
var operation = EditorSceneManager.LoadSceneAsyncInPlayMode(levels[0], loadParamters);
operation.completed += (value) =>
{
var assets = AssetDatabase.GetAssetPathsFromAssetBundleAndAssetName("prefabs", "Cube");
if (assets.Length > 0)
{
Object target = AssetDatabase.LoadMainAssetAtPath(assets[0]);
if (target)
{
Instantiate(target);
}
}
};
}
}