using System; using System.Collections.Generic; using System.Threading.Tasks; using Unity.Properties; using UnityEditor.U2D.Sprites; using UnityEditor.U2D.Tooling.Analyzer.UIElement; using UnityEngine; using UnityEngine.UIElements; namespace UnityEditor.U2D.Tooling.Analyzer { class SpriteWithSecondaryTextureIssue : AnalyzerIssueReportBase { const string k_Uxml = "Packages/com.unity.2d.tooling/Editor/Insider/SpriteAtlas/SpriteAtlasIssueReport/SpriteWithSecondaryTextureIssue/SpriteWithSecondaryTextureIssue.uxml"; const string k_SaveFilePath = "Library/com.unity.2d.tooling/AnalyzerWindow/SpriteWithSecondaryTextureIssue.json"; VisualElement m_IssueView; MultiColumnTreeView m_Table; List> m_TableData = new(); Label m_NoDataLabel; public SpriteWithSecondaryTextureIssue(): base(new [] {typeof(SpriteAtlasDataSource)}) { SetReportListItemName("Textures contain different secondary texture count in Sprite Atlas"); SetReportListemCount("0"); m_IssueView = AssetDatabase.LoadAssetAtPath(k_Uxml).Instantiate(); m_Table = m_IssueView.Q("Table"); //m_Table.AddManipulator(new ContextualMenuManipulator(OnContextualMenuManipulator)); m_Table.selectionChanged += OnSelectionChanged; if(EditorGUIUtility.isProSkin) m_IssueView.AddToClassList("dark"); else m_IssueView.AddToClassList("light"); SetupTable(); m_NoDataLabel = m_IssueView.Q