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.
66 lines
2.0 KiB
66 lines
2.0 KiB
using System;
|
|
using UnityEditor.SceneManagement;
|
|
using UnityEngine;
|
|
using UnityEngine.Analytics;
|
|
using UnityEngine.Rendering;
|
|
using static UnityEngine.Analytics.IAnalytic;
|
|
using Scene = UnityEditor.SearchService.SceneSearch;
|
|
|
|
namespace UnityEditor.Rendering.Analytics
|
|
{
|
|
// schema = com.unity3d.data.schemas.editor.analytics.uVolumePriorityUsageAnalyticData_v2
|
|
// taxonomy = editor.analytics.uVolumePriorityUsageAnalyticData.v2
|
|
internal class VolumePriorityUsageAnalytic
|
|
{
|
|
|
|
[AnalyticInfo(eventName: "uVolumePriorityUsageAnalyticData", version: 2, vendorKey: "unity.srp")]
|
|
class Analytic : IAnalytic
|
|
{
|
|
public Analytic(Volume volume, string guid)
|
|
{
|
|
using (GenericPool<Data>.Get(out var data))
|
|
{
|
|
data.volume_name = Hash128.Compute(volume.name).ToString();
|
|
data.scene_name = guid;
|
|
data.priority = volume.priority;
|
|
m_Data = data;
|
|
}
|
|
}
|
|
|
|
[System.Diagnostics.DebuggerDisplay("{volume_name} - {scene_name} - {priority}")]
|
|
[Serializable]
|
|
class Data : IAnalytic.IData
|
|
{
|
|
// Naming convention for analytics data
|
|
public string volume_name;
|
|
public string scene_name;
|
|
public float priority;
|
|
}
|
|
|
|
public bool TryGatherData(out IAnalytic.IData data, out Exception error)
|
|
{
|
|
data = m_Data;
|
|
error = null;
|
|
return true;
|
|
}
|
|
|
|
Data m_Data;
|
|
};
|
|
|
|
|
|
public static void Send(Volume volume)
|
|
{
|
|
if (volume == null)
|
|
return;
|
|
|
|
var sceneGUID = EditorSceneManager.GetActiveScene().GetGUID();
|
|
GUID guid = new GUID(sceneGUID);
|
|
if (guid.Empty())
|
|
return;
|
|
|
|
Analytic analytic = new Analytic(volume, sceneGUID);
|
|
AnalyticsUtils.SendData(analytic);
|
|
|
|
}
|
|
}
|
|
}
|