public void DoRecover()
{
string[] selectedDeletedItemGUIDs = this.GetSelectedDeletedItemGUIDs();
Dictionary <string, int> dictionary = new Dictionary <string, int>();
int num = 0;
for (int i = 0; i < selectedDeletedItemGUIDs.Length; i++)
{
for (int j = 0; j < this.m_DeletedItems.Length; j++)
{
if (this.m_DeletedItems[j].guid == selectedDeletedItemGUIDs[i])
{
dictionary[this.m_DeletedItems[j].guid] = j;
break;
}
}
}
DeletedAsset[] assets = new DeletedAsset[dictionary.Count];
while (dictionary.Count != 0)
{
DeletedAsset asset = null;
foreach (KeyValuePair <string, int> pair in dictionary)
{
asset = this.m_DeletedItems[pair.Value];
if (!dictionary.ContainsKey(asset.parent))
{
assets[num++] = asset;
break;
}
}
dictionary.Remove(asset.guid);
}
AssetServer.SetAfterActionFinishedCallback("ASEditorBackend", "CBReinitASMainWindow");
AssetServer.DoRecoverOnNextTick(assets);
}