A game about forced loneliness, made by TACStudios
1using System;
2using UnityEditor.SceneManagement;
3using UnityEngine;
4using UnityEngine.Analytics;
5using UnityEngine.Rendering;
6
7namespace UnityEditor.Rendering.Analytics
8{
9 // schema = com.unity3d.data.schemas.editor.analytics.uVolumeProfileUsageAnalytic_v4
10 // taxonomy = editor.analytics.uVolumeProfileUsageAnalytic.v4
11 internal class VolumeProfileUsageAnalytic
12 {
13 [AnalyticInfo(eventName: "uVolumeProfileUsageAnalytic", version: 4, vendorKey: "unity.srp" )]
14 class Analytic : IAnalytic
15 {
16 public Analytic(Volume volume, VolumeProfile volumeProfile)
17 {
18 using (GenericPool<Data>.Get(out var data))
19 {
20 data.volume_name = Hash128.Compute(volume.name).ToString();
21 data.scene_name = EditorSceneManager.GetActiveScene().GetGUID();
22 data.volume_profile_asset_guid = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(volumeProfile.GetInstanceID()));
23 m_Data = data;
24 }
25 }
26
27 [System.Diagnostics.DebuggerDisplay("{volume_name} - {scene_name}- {volume_profile_asset_guid}")]
28 [Serializable]
29 class Data : IAnalytic.IData
30 {
31 // Naming convention for analytics data
32 public string volume_name;
33 public string scene_name;
34 public string volume_profile_asset_guid;
35 }
36 public bool TryGatherData(out IAnalytic.IData data, out Exception error)
37 {
38 data = m_Data;
39 error = null;
40 return true;
41 }
42 Data m_Data;
43 };
44
45 public static void Send(Volume volume, VolumeProfile volumeProfile)
46 {
47 if (volume == null || volumeProfile == null)
48 return;
49
50 Analytic analytic = new Analytic(volume, volumeProfile);
51
52 AnalyticsUtils.SendData(analytic);
53 }
54 }
55}