void OnEnable() { ProjectAuditorAnalytics.EnableAnalytics(); m_ProjectAuditor = new ProjectAuditor(); UpdateAssemblySelection(); if (m_AreaSelection == null) { m_AreaSelection = new TreeViewSelection(); if (!string.IsNullOrEmpty(m_AreaSelectionSummary)) { if (m_AreaSelectionSummary == "All") { m_AreaSelection.SetAll(AreaNames); } else if (m_AreaSelectionSummary != "None") { var areas = m_AreaSelectionSummary.Split(new[] { ", " }, StringSplitOptions.None); foreach (var area in areas) { m_AreaSelection.selection.Add(area); } } } else { m_AreaSelection.SetAll(AreaNames); } } m_ModeNames = m_AnalysisViewDescriptors.Select(m => m.name).ToArray(); if (m_TextFilter == null) { m_TextFilter = new TextFilter(); } m_AnalysisViews.Clear(); foreach (var desc in m_AnalysisViewDescriptors) { var view = new AnalysisView(); view.CreateTable(desc, m_ProjectAuditor.config, m_Preferences, this); if (m_AnalysisState == AnalysisState.Valid) { view.AddIssues(m_ProjectReport.GetIssues(view.desc.category)); } m_AnalysisViews.Add(view); } RefreshDisplay(); }
void OnEnable() { var currentState = m_AnalysisState; m_AnalysisState = AnalysisState.Initializing; ProjectAuditorAnalytics.EnableAnalytics(); m_ProjectAuditor = new ProjectAuditor(); UpdateAreaSelection(); UpdateAssemblySelection(); if (m_TextFilter == null) { m_TextFilter = new TextFilter(); } var viewDescriptors = ViewDescriptor.GetAll(); Array.Sort(viewDescriptors, (a, b) => a.menuOrder.CompareTo(b.menuOrder)); m_ViewDropdownItems = new Utility.DropdownItem[viewDescriptors.Length]; m_Views = new AnalysisView[viewDescriptors.Length]; for (int i = 0; i < viewDescriptors.Length; i++) { var desc = viewDescriptors[i]; var layout = m_ProjectAuditor.GetLayout(desc.category); var isSupported = layout != null; m_ViewDropdownItems[i] = new Utility.DropdownItem { Content = new GUIContent(string.IsNullOrEmpty(desc.menuLabel) ? desc.name : desc.menuLabel), SelectionContent = new GUIContent("View: " + desc.name), Enabled = isSupported }; if (!isSupported) { Debug.Log("Project Auditor module " + desc.category + " is not supported."); continue; } var view = desc.viewType != null ? (AnalysisView)Activator.CreateInstance(desc.viewType) : new AnalysisView(); view.Create(desc, layout, m_ProjectAuditor.config, m_Preferences, this); if (currentState == AnalysisState.Valid) { view.AddIssues(m_ProjectReport.GetIssues(desc.category)); } m_Views[i] = view; } if (currentState != AnalysisState.Valid) { m_ProjectReport = new ProjectReport(); } AnalysisView.SetReport(m_ProjectReport); AnalysisView.OnChangeView = SelectView; GetView <ShaderVariantsView>().SetShadersAuditor(m_ProjectAuditor.GetAuditor <ShadersAuditor>()); // are we reloading from a valid state? if (currentState == AnalysisState.Valid && m_ActiveViewIndex < viewDescriptors.Length) { m_AnalysisState = currentState; } else { m_AnalysisState = AnalysisState.Initialized; } RefreshDisplay(); Instance = this; }