123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #if UNITY_EDITOR
- using UnityEditor;
- #endif
-
- using System;
- using UnityEngine.Analytics;
-
- namespace UnityEngine.Rendering
- {
- /// <summary>
- /// Setup a specific render pipeline on scene loading.
- /// This need to be used with caution as it will change project configuration.
- /// </summary>
- #if UNITY_EDITOR
- [ExecuteAlways]
- #endif
- public class SceneRenderPipeline : MonoBehaviour
- {
- #if UNITY_EDITOR
- [SerializeField] bool firstTimeCreated = true;
-
- /// <summary>
- /// Scriptable Render Pipeline Asset to setup on scene load.
- /// </summary>
- public RenderPipelineAsset renderPipelineAsset;
-
- void Awake()
- {
- if (firstTimeCreated)
- {
- renderPipelineAsset = GraphicsSettings.defaultRenderPipeline;
- firstTimeCreated = false;
- }
-
- //Send analytics each time to find usage in content dl on the asset store too
- SceneRenderPipelineAnalytic.SendAnalytic(this);
- }
-
- void OnEnable()
- {
- GraphicsSettings.defaultRenderPipeline = renderPipelineAsset;
- }
-
-
- [AnalyticInfo(eventName: "sceneRenderPipelineAssignment", vendorKey: "unity.srp", maxEventsPerHour: 10, maxNumberOfElements: 1000)]
- class SceneRenderPipelineAnalytic : IAnalytic
- {
-
- public SceneRenderPipelineAnalytic(string guid)
- {
- m_Data = new Data
- {
- scene_guid = guid
- };
- }
-
- [System.Diagnostics.DebuggerDisplay("{scene_guid}")]
- [Serializable]
- internal struct Data : IAnalytic.IData
- {
- // Naming convention for analytics data
- public string scene_guid;
- };
-
- public bool TryGatherData(out IAnalytic.IData data, out Exception error)
- {
- data = m_Data;
- error = null;
- return true;
- }
-
- static public void SendAnalytic(SceneRenderPipeline sender)
- {
- SceneRenderPipelineAnalytic analytic = new SceneRenderPipelineAnalytic(sender.gameObject.scene.GetGUID());
- EditorAnalytics.SendAnalytic(analytic);
- }
-
- Data m_Data;
- }
-
-
- #endif
- }
- }
|