public void DeserializeData(LibraryTabData libraryTabData) { for (int i = 0; i < libraryTabData.RecentsGUIDs.Count; i++) { m_recentsGroup.AddGraphByGUID(libraryTabData.RecentsGUIDs[i]); } if (m_recentsGroup.NumElements > NUM_RECENTS) { int diff = m_recentsGroup.NumElements - NUM_RECENTS; for (int i = 0; i < diff; i++) { m_recentsGroup.RemoveByIndex(m_recentsGroup.NumElements - 1); } } else if (m_recentsGroup.NumElements < NUM_RECENTS) { int diff = NUM_RECENTS - m_recentsGroup.NumElements; for (int i = 0; i < diff; i++) { m_recentsGroup.AddGraphByGUID(null); } } m_recentsGroup.SetToggle(libraryTabData.IsRecentsFoldoutOpen); }
private void PopulateGroups() { Type[] m_allGraphTypes = AppDomain.CurrentDomain.GetAssemblies().SelectMany(x => x.GetTypes()).Where( x => typeof(NodeGraph).IsAssignableFrom(x) && x.IsClass && !x.IsAbstract).ToArray(); foreach (Type t in m_allGraphTypes) { string[] foundGraphGUIDs = AssetDatabase.FindAssets("t: " + t.ToString()); GraphGroupFoldout foldout = new GraphGroupFoldout(); foldout.Setup(t.ToString(), GraphGroupFoldout.SortRule.NAME, m_libraryTab.OnObjectFieldDoubleClick); foreach (string guid in foundGraphGUIDs) { foldout.AddGraphByGUID(guid); } m_allGraphsGroup.Add(foldout); m_allGraphsFoldouts.Add(t, foldout); foldout.AddDisplayFieldManipulator(m_libraryTab.GetAddToFavManip); } foreach (GraphGroupFoldout foldout in m_allGraphsFoldouts.Values) { foldout.HideFoldoutIfNecessary(); } }
public void AddGraphToFavorites(string guid) { m_favoritesGroup.AddGraphByGUID(guid); }