public void DrawFolderContent(GuidObject.Folder folder, bool allowAdding = true) { Layout.BeginHorizontal(); DrawFolderHeaderItem(folder); Layout.EndHorizontal(); if (folder.FoldOut) { Layout.BeginOffset(FoldOffset); // subfolders if (folder.SubFolders != null) { foreach (var subFolder in folder.SubFolders.Values) { DrawFolderContent(subFolder, allowAdding); } } // items if (folder.FullItemCount == 0) { Layout.Label("<empty>"); } else { foreach (var guidObject in folder.OwnItems) { DrawObjectItem(guidObject); } } Layout.EndOffset(); } }
private void DrawFolderHeaderItem(GuidObject.Folder folder) { var caption = String.Format("{0} ({1})", folder.Name, folder.FullItemCount); if (folder.SkipCodegen) { caption += " skip"; } Layout.FoldLine(ref folder.FoldOut, caption, null); var rect = GUILayoutUtility.GetLastRect(); if (rect.Contains(Event.current.mousePosition)) { HoveredObject = folder; } }
public GameData() { RootFolder = new GuidObject.Folder("RootFolder"); }