public static void ShowWindow(string[] inAssets, out string[] assetsThatShouldBeSaved)
{
int numMetaFiles = 0;
foreach (string path in inAssets)
{
if (path.EndsWith("meta"))
{
numMetaFiles++;
}
}
int numAssets = inAssets.Length - numMetaFiles;
if (numAssets == 0)
{
assetsThatShouldBeSaved = inAssets;
return;
}
string[] assets = new string[numAssets];
string[] metaFiles = new string[numMetaFiles];
numAssets = 0;
numMetaFiles = 0;
foreach (string path in inAssets)
{
if (path.EndsWith("meta"))
{
metaFiles[numMetaFiles++] = path;
}
else
{
assets[numAssets++] = path;
}
}
AssetSaveDialog win = EditorWindow.GetWindowDontShow <AssetSaveDialog>();
win.titleContent = EditorGUIUtility.TrTextContent("Save Assets");
win.SetAssets(assets);
win.minSize = new Vector2(400, 100);
win.maxSize = new Vector2(550, 550);
win.ShowModalUtility();
win.ShowModal();
assetsThatShouldBeSaved = new string[win.m_AssetsToSave.Count + numMetaFiles];
win.m_AssetsToSave.CopyTo(assetsThatShouldBeSaved, 0);
metaFiles.CopyTo(assetsThatShouldBeSaved, win.m_AssetsToSave.Count);
}