UnityEditor.ParentViewState.AddAssetItem C# (CSharp) Method

AddAssetItem() private method

private AddAssetItem ( string guid, string pathName, bool isDir, ChangeFlags changeFlags, int changeset ) : void
guid string
pathName string
isDir bool
changeFlags ChangeFlags
changeset int
return void
        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));
                    }
                }
            }
        }