public void Delete()
{
Stack<object> deleteStack = new Stack<object>();
AddToDeleteStack(deleteStack);
while (deleteStack.Count > 0)
{
object deleteMe = deleteStack.Pop();
if (deleteMe is LuaScriptFolderInfo)
{
LuaScriptFolderInfo folder = (LuaScriptFolderInfo)deleteMe;
component.scriptFolders.Remove(folder.key);
folder.dir.Delete();
}
else
{
LuaScriptFileInfo script = (LuaScriptFileInfo)deleteMe;
component.scripts.Remove(script.key);
script.Delete();
}
}
}