using System; using UnityEngine; using UnityEngine.UIElements; using Object = UnityEngine.Object; namespace UnityEditor.U2D.Tooling.Analyzer { interface IAnalyzerReport { /// /// The VisualElement that represents the report in Analyzer Window's list view. /// VisualElement listItem { get; } /// /// The VisualElement that represents the report in Report Window's view. /// VisualElement reportContent { get; } /// /// The VisualElement that represents the report in Report Window's view. /// VisualElement settingsContent { get; } /// /// The title of the report. /// string reportTitle { get; } /// /// The method is called to provide the report with the data source provider. /// /// Data source provider avaiable currently. void SetDataSourceProvider(IDataSourceProvider dataSourceProvider); /// /// Called when the report is disposed for any clean up. /// void Dispose(); /// /// Registered to be informed when the report wants inspects an object. /// event Action onInspectObject; /// /// Returns the report given the type. This is used when a IAnalyzerReport have nested reports. /// /// The report type. /// The IAnalyzerReport for the report type. IAnalyzerReport GetReportForType(Type type); } }