Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

AssetReimporterAnalytic.cs 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. using JetBrains.Annotations;
  2. using System;
  3. using UnityEngine.Analytics;
  4. using UnityEngine.Rendering;
  5. namespace UnityEditor.Rendering.Universal.Analytics
  6. {
  7. // schema = com.unity3d.data.schemas.editor.analytics.uAssetReimporterAnalytic_v2
  8. // taxonomy = editor.analytics.uAssetReimporterAnalytic.v2
  9. internal class AssetReimporterAnalytic
  10. {
  11. [AnalyticInfo(eventName: "uAssetReimporterAnalytic", vendorKey: "unity.srp", maxEventsPerHour:100, maxNumberOfElements:1000)]
  12. class Analytic : IAnalytic
  13. {
  14. public Analytic(double duration, uint numberOfAssets, string assetType)
  15. {
  16. using (GenericPool<Data>.Get(out var data))
  17. {
  18. data.duration = duration;
  19. data.num_assets = numberOfAssets;
  20. data.asset_type = assetType;
  21. }
  22. }
  23. [System.Diagnostics.DebuggerDisplay("{duration} - {asset_type} - {num_assets}")]
  24. [Serializable]
  25. class Data : IAnalytic.IData
  26. {
  27. internal const string k_EventName = "";
  28. internal const int k_Version = 2;
  29. // Naming convention for analytics data
  30. public uint num_assets;
  31. public double duration;
  32. public string asset_type;
  33. }
  34. public bool TryGatherData(out IAnalytic.IData data, out Exception error)
  35. {
  36. data = m_Data;
  37. error = null;
  38. return true;
  39. }
  40. Data m_Data;
  41. }
  42. public static void Send<T>(double duration, uint numberOfAssets)
  43. {
  44. Analytic analytic = new Analytic(duration, numberOfAssets, typeof(T).ToString());
  45. EditorAnalytics.SendAnalytic(analytic);
  46. }
  47. }
  48. }