private void AddAssetItem(string guid, string pathName, bool isDir, ChangeFlags changeFlags, int changeset)
{
if (pathName != string.Empty)
{
if (isDir)
{
string lfname = ParentViewFolder.MakeNiceName(pathName);
int index = IndexOf(this.folders, lfname);
if (index == -1)
{
ParentViewFolder item = new ParentViewFolder(lfname, guid, changeFlags);
ArrayUtility.Add<ParentViewFolder>(ref this.folders, item);
}
else
{
this.folders[index].changeFlags = changeFlags;
this.folders[index].guid = guid;
}
}
else
{
ParentViewFolder folder2;
string str2 = ParentViewFolder.MakeNiceName(FileUtil.DeleteLastPathNameComponent(pathName));
string str3 = pathName.Substring(pathName.LastIndexOf("/") + 1);
int num2 = IndexOf(this.folders, str2);
if (num2 == -1)
{
folder2 = new ParentViewFolder(str2, AssetServer.GetParentGUID(guid, changeset));
ArrayUtility.Add<ParentViewFolder>(ref this.folders, folder2);
}
else
{
folder2 = this.folders[num2];
}
num2 = IndexOf(folder2.files, str3);
if (num2 != -1)
{
if ((folder2.files[num2].changeFlags & ChangeFlags.Deleted) == ChangeFlags.None)
{
folder2.files[num2].guid = guid;
folder2.files[num2].changeFlags = changeFlags;
}
}
else
{
ArrayUtility.Add<ParentViewFile>(ref folder2.files, new ParentViewFile(str3, guid, changeFlags));
}
}
}
}