コード例 #1
0
        public bool OnGUI(Rect pos)
        {
            if (settings == null)
            {
                return(false);
            }

            if (!m_ModificationRegistered)
            {
                m_ModificationRegistered = true;
                settings.OnModification -= OnSettingsModification; //just in case...
                settings.OnModification += OnSettingsModification;
            }



            if (m_EntryTree == null)
            {
                if (m_TreeState == null)
                {
                    m_TreeState = new TreeViewState();
                }

                var headerState = AddressableAssetEntryTreeView.CreateDefaultMultiColumnHeaderState();
                if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_Mchs, headerState))
                {
                    MultiColumnHeaderState.OverwriteSerializedFields(m_Mchs, headerState);
                }
                m_Mchs = headerState;

                m_SearchField = new SearchField();
                m_EntryTree   = new AddressableAssetEntryTreeView(m_TreeState, m_Mchs, this);
                m_EntryTree.Reload();
            }

            HandleVerticalResize(pos);
            var width   = pos.width - k_SplitterWidth * 2;
            var inRectY = pos.height;

            if (m_AnalyzeMode)
            {
                inRectY = m_VerticalSplitterRect.yMin - pos.yMin;
            }

            var searchRect = new Rect(pos.xMin, pos.yMin, pos.width, k_SearchHeight);
            var treeRect   = new Rect(pos.xMin, pos.yMin + k_SearchHeight, pos.width, inRectY - k_SearchHeight);
            var botRect    = new Rect(pos.xMin + k_SplitterWidth, pos.yMin + inRectY + k_SplitterWidth, width, pos.height - inRectY - k_SplitterWidth * 2);

            TopToolbar(searchRect);

            if (!m_AnalyzeMode)
            {
                m_EntryTree.OnGUI(treeRect);
            }
            else
            {
                m_EntryTree.OnGUI(treeRect);
                if (m_AnalyzeEditor == null)
                {
                    m_AnalyzeEditor = new AssetSettingsAnalyze();
                }
                m_AnalyzeEditor.OnGUI(botRect, settings);
            }



            return(m_ResizingVerticalSplitter);
        }
コード例 #2
0
 internal AssetSettingsAnalyzeTreeView(TreeViewState state, AssetSettingsAnalyze analyzeSetting) : base(state)
 {
     showBorder       = true;
     m_AnalyzeSetting = analyzeSetting;
 }