minesweeper_game/Library/PackageCache/com.unity.render-pipelines.universal@506b3deb0041/Editor/Analytics/AssetReimporterAnalytic.cs
2025-03-15 14:30:26 -04:00

56 lines
1.8 KiB
C#

using JetBrains.Annotations;
using System;
using UnityEngine.Analytics;
using UnityEngine.Rendering;
namespace UnityEditor.Rendering.Universal.Analytics
{
// schema = com.unity3d.data.schemas.editor.analytics.uAssetReimporterAnalytic_v2
// taxonomy = editor.analytics.uAssetReimporterAnalytic.v2
internal class AssetReimporterAnalytic
{
[AnalyticInfo(eventName: "uAssetReimporterAnalytic", vendorKey: "unity.srp", maxEventsPerHour:100, maxNumberOfElements:1000)]
class Analytic : IAnalytic
{
public Analytic(double duration, uint numberOfAssets, string assetType)
{
using (GenericPool<Data>.Get(out var data))
{
data.duration = duration;
data.num_assets = numberOfAssets;
data.asset_type = assetType;
}
}
[System.Diagnostics.DebuggerDisplay("{duration} - {asset_type} - {num_assets}")]
[Serializable]
class Data : IAnalytic.IData
{
internal const string k_EventName = "";
internal const int k_Version = 2;
// Naming convention for analytics data
public uint num_assets;
public double duration;
public string asset_type;
}
public bool TryGatherData(out IAnalytic.IData data, out Exception error)
{
data = m_Data;
error = null;
return true;
}
Data m_Data;
}
public static void Send<T>(double duration, uint numberOfAssets)
{
Analytic analytic = new Analytic(duration, numberOfAssets, typeof(T).ToString());
EditorAnalytics.SendAnalytic(analytic);
}
}
}