Example #1
0
 public AnalysisView(AnalysisViewDescriptor desc, ProjectAuditorConfig config, IIssuesFilter filter)
 {
     m_Desc   = desc;
     m_Config = config;
     m_Filter = filter;
     m_Table  = null;
 }
Example #2
0
        public virtual void Create(ViewDescriptor descriptor, IssueLayout layout, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
        {
            m_Desc        = descriptor;
            m_Config      = config;
            m_Preferences = prefs;
            m_Filter      = filter;
            m_Layout      = layout;

            if (m_Table != null)
            {
                return;
            }

            var state   = new TreeViewState();
            var columns = new MultiColumnHeaderState.Column[layout.properties.Length];

            for (var i = 0; i < layout.properties.Length; i++)
            {
                var property = layout.properties[i];

                var width = 80;
                switch (property.type)
                {
                case PropertyType.Description:
                    width = 300;
                    break;

                case PropertyType.Path:
                    width = 500;
                    break;

                case PropertyType.Severity:
                    width = 24;
                    break;
                }

                columns[i] = new MultiColumnHeaderState.Column
                {
                    headerContent = new GUIContent(property.name, layout.properties[i].longName),
                    width         = width,
                    minWidth      = 20,
                    autoResize    = true
                };
            }

            m_Table = new IssueTable(state,
                                     new MultiColumnHeader(new MultiColumnHeaderState(columns)),
                                     m_Desc,
                                     layout,
                                     m_Config,
                                     m_Filter);

            if (m_Desc.showDependencyView)
            {
                m_DependencyView = new DependencyView(new TreeViewState(), m_Desc.onDoubleClick);
            }

            SetFlatView(m_FlatView);
        }
Example #3
0
 public void Initialize(ProjectAuditorConfig config)
 {
     m_ShaderUtilType = typeof(ShaderUtil);
     m_GetShaderVariantCountMethod   = m_ShaderUtilType.GetMethod("GetVariantCount", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetShaderGlobalKeywordsMethod = m_ShaderUtilType.GetMethod("GetShaderGlobalKeywords", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetShaderLocalKeywordsMethod  = m_ShaderUtilType.GetMethod("GetShaderLocalKeywords", BindingFlags.Static | BindingFlags.NonPublic);
     m_HasInstancingMethod           = m_ShaderUtilType.GetMethod("HasInstancing", BindingFlags.Static | BindingFlags.NonPublic);
 }
Example #4
0
 public AnalysisView(AnalysisViewDescriptor desc, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
 {
     m_Desc        = desc;
     m_Config      = config;
     m_Preferences = prefs;
     m_Filter      = filter;
     m_Table       = null;
 }
Example #5
0
 public void Initialize(ProjectAuditorConfig config)
 {
     m_ShaderUtilType = typeof(ShaderUtil);
     m_GetShaderVariantCountMethod    = m_ShaderUtilType.GetMethod("GetVariantCount", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetShaderGlobalKeywordsMethod  = m_ShaderUtilType.GetMethod("GetShaderGlobalKeywords", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetShaderLocalKeywordsMethod   = m_ShaderUtilType.GetMethod("GetShaderLocalKeywords", BindingFlags.Static | BindingFlags.NonPublic);
     m_HasInstancingMethod            = m_ShaderUtilType.GetMethod("HasInstancing", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetShaderActiveSubshaderIndex  = m_ShaderUtilType.GetMethod("GetShaderActiveSubshaderIndex", BindingFlags.Static | BindingFlags.NonPublic);
     m_GetSRPBatcherCompatibilityCode = m_ShaderUtilType.GetMethod("GetSRPBatcherCompatibilityCode", BindingFlags.Static | BindingFlags.NonPublic);
 }
        public void Initialize(ProjectAuditorConfig config)
        {
            m_Analyzers          = new List <ISettingsAnalyzer>();
            m_ProblemDescriptors = new List <ProblemDescriptor>();

            foreach (var type in TypeCache.GetTypesDerivedFrom(typeof(ISettingsAnalyzer)))
            {
                AddAnalyzer(Activator.CreateInstance(type) as ISettingsAnalyzer);
            }
        }
Example #7
0
        public void Initialize(ProjectAuditorConfig config)
        {
            m_Analyzers          = new List <ISettingsAnalyzer>();
            m_ProblemDescriptors = new List <ProblemDescriptor>();

            foreach (var type in TypeInfo.GetAllTypesInheritedFromInterface <ISettingsAnalyzer>())
            {
                AddAnalyzer(Activator.CreateInstance(type) as ISettingsAnalyzer);
            }
        }
Example #8
0
 public IssueTable(TreeViewState state, MultiColumnHeader multicolumnHeader,
                   bool groupByDescription, ProjectAuditorConfig config, IIssuesFilter issuesFilter) : base(state,
                                                                                                            multicolumnHeader)
 {
     m_Config                          = config;
     m_IssuesFilter                    = issuesFilter;
     m_GroupByDescription              = groupByDescription;
     m_NextId                          = 1;
     multicolumnHeader.sortingChanged += OnSortingChanged;
 }
Example #9
0
 public IssueTable(TreeViewState state, MultiColumnHeader multicolumnHeader,
                   AnalysisViewDescriptor desc, ProjectAuditorConfig config,
                   IProjectIssueFilter filter) : base(state,
                                                      multicolumnHeader)
 {
     m_Config = config;
     m_Filter = filter;
     m_Desc   = desc;
     m_NextId = 1;
     multicolumnHeader.sortingChanged += OnSortingChanged;
 }
Example #10
0
        public void CreateTable(AnalysisViewDescriptor desc, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
        {
            m_Desc        = desc;
            m_Config      = config;
            m_Preferences = prefs;
            m_Filter      = filter;

            if (m_Table != null)
            {
                return;
            }

            var state   = new TreeViewState();
            var columns = new MultiColumnHeaderState.Column[m_Desc.columnTypes.Length];

            for (var i = 0; i < columns.Length; i++)
            {
                var columnType = m_Desc.columnTypes[i];

                ColumnDescriptor style;
                if (columnType == IssueTable.ColumnType.Description && m_Desc.descriptionColumnStyle.Content != null)
                {
                    style = m_Desc.descriptionColumnStyle;
                }
                else if (columnType < IssueTable.ColumnType.Custom)
                {
                    style = Styles.Columns[(int)columnType];
                }
                else
                {
                    style = m_Desc.customColumnStyles[columnType - IssueTable.ColumnType.Custom];
                }

                columns[i] = new MultiColumnHeaderState.Column
                {
                    headerContent = style.Content,
                    width         = style.Width,
                    minWidth      = style.MinWidth,
                    autoResize    = true
                };
            }

            m_Table = new IssueTable(state,
                                     new MultiColumnHeader(new MultiColumnHeaderState(columns)),
                                     m_Desc,
                                     m_Config,
                                     m_Filter);

            if (m_Desc.showDependencyView)
            {
                m_DependencyView = new DependencyView(new TreeViewState(), m_Desc.onDoubleClick);
            }
        }
Example #11
0
 public IssueTable(TreeViewState state, MultiColumnHeader multicolumnHeader,
                   AnalysisViewDescriptor desc, ProjectAuditorConfig config,
                   IProjectIssueFilter filter) : base(state,
                                                      multicolumnHeader)
 {
     m_Config   = config;
     m_Filter   = filter;
     m_Desc     = desc;
     m_FlatView = !desc.groupByDescription;
     m_NextId   = k_FirstId;
     m_FontSize = Preferences.k_MinFontSize;
     multicolumnHeader.sortingChanged += OnSortingChanged;
 }
Example #12
0
        internal SettingsAuditor(ProjectAuditorConfig config)
        {
            var assemblies = AppDomain.CurrentDomain.GetAssemblies();

            m_Assemblies.Add(assemblies.First(a => a.Location.Contains("UnityEngine.dll")));
            m_Assemblies.Add(assemblies.First(a => a.Location.Contains("UnityEditor.dll")));

            // UnityEditor
            m_ProjectSettingsMapping.Add(new KeyValuePair <string, string>("UnityEditor.PlayerSettings",
                                                                           "Project/Player"));
            m_ProjectSettingsMapping.Add(
                new KeyValuePair <string, string>("UnityEditor.Rendering.EditorGraphicsSettings", "Project/Graphics"));

            // UnityEngine
            m_ProjectSettingsMapping.Add(new KeyValuePair <string, string>("UnityEngine.Physics", "Project/Physics"));
            m_ProjectSettingsMapping.Add(
                new KeyValuePair <string, string>("UnityEngine.Physics2D", "Project/Physics 2D"));
            m_ProjectSettingsMapping.Add(new KeyValuePair <string, string>("UnityEngine.Time", "Project/Time"));
            m_ProjectSettingsMapping.Add(new KeyValuePair <string, string>("UnityEngine.QualitySettings",
                                                                           "Project/Quality"));
        }
Example #13
0
 public void Initialize(ProjectAuditorConfig config)
 {
     m_ProblemDescriptors = new List <ProblemDescriptor>();
     RegisterDescriptor(k_Descriptor);
 }
 public void CreateTable(AnalysisViewDescriptor desc, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
 {
     m_AnalysisView.CreateTable(desc, config, prefs, filter);
 }
Example #15
0
 public void Initialize(ProjectAuditorConfig config)
 {
     m_Config = config;
 }
Example #16
0
 public override void Create(ViewDescriptor desc, IssueLayout layout, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
 {
     m_MainFilter = filter;
     base.Create(desc, layout, config, prefs, this);
 }
 public override void CreateTable(AnalysisViewDescriptor desc, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
 {
     m_MainFilter = filter;
     base.CreateTable(desc, config, prefs, this);
     m_AnalysisView.SetFlatView(m_FlatView);
 }
 public void Initialize(ProjectAuditorConfig config)
 {
     RegisterDescriptor(k_Descriptor);
 }
Example #19
0
 public virtual void Create(ViewDescriptor desc, IssueLayout layout, ProjectAuditorConfig config, Preferences prefs, IProjectIssueFilter filter)
 {
     m_AnalysisView.Create(desc, layout, config, prefs, filter);
 }
Example #20
0
 internal ScriptAuditor(ProjectAuditorConfig config)
 {
     m_Config = config;
 }