#if ENABLE_CLOUD_SERVICES_ANALYTICS || UNITY_2023_2_OR_NEWER
using System;
using UnityEngine;
namespace UnityEditor.XR.Interaction.Toolkit.Analytics
{
///
/// Summary data for a list of components, with a particular base type (for example, IXRInteractable), across all scenes.
/// The components are grouped by type and the count of each type.
///
[Serializable]
struct ComponentSummaryData
{
///
/// The total count of components of this base type across all scenes.
/// This is the sum of , , and .
///
[SerializeField]
public int totalCount;
///
/// The number of built-in XRI components of this base type across all scenes.
///
[SerializeField]
public int builtInCount;
///
/// The number of components of this base type defined in other Unity packages across all scenes.
///
[SerializeField]
public int unityCount;
///
/// The number of components of this base type defined in non-Unity packages or project scripts across all scenes.
///
[SerializeField]
public int customCount;
///
/// The list of unique component types across all scenes for those that are a built-in XRI component.
///
[SerializeField]
public NameCountData[] builtInTypes;
///
/// The list of unique component types across all scenes for those that are defined in other Unity packages.
///
[SerializeField]
public NameCountData[] unityTypes;
///
/// The list of unique component types across all scenes for those that are defined in non-Unity packages or project scripts.
///
[SerializeField]
public NameCountData[] customTypes;
}
///
/// Single entry of a type name and count of that type.
///
[Serializable]
struct NameCountData
{
///
/// The type name.
///
[SerializeField]
public string typeName;
///
/// The number of components that are of this type.
///
[SerializeField]
public int count;
}
}
#endif