コード例 #1
0
            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);
            }
コード例 #2
0
            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();
                }
            }
コード例 #3
0
 public void AddGraphToFavorites(string guid)
 {
     m_favoritesGroup.AddGraphByGUID(guid);
 }