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