Nav apraksta
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

CheckAssignedRenderPipelineAsset.cs 1.4KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using UnityEngine;
  2. using UnityEngine.Profiling;
  3. using UnityEngine.Rendering;
  4. using UnityEngine.Rendering.Universal;
  5. [ExecuteInEditMode]
  6. public class CheckAssignedRenderPipelineAsset : MonoBehaviour
  7. {
  8. [SerializeField] private UniversalRenderPipelineAsset m_PipelineAsset;
  9. [SerializeField] private GameObject m_WarningGameObject;
  10. private bool m_LastCorrectPipelineResults = false;
  11. private bool isCorrectAssetAssigned => QualitySettings.renderPipeline == m_PipelineAsset
  12. || QualitySettings.renderPipeline == null && GraphicsSettings.defaultRenderPipeline == m_PipelineAsset;
  13. private void Awake()
  14. {
  15. CheckIfCorrectAssetIsAssigned();
  16. }
  17. private void Update()
  18. {
  19. CheckIfCorrectAssetIsAssigned();
  20. }
  21. private void CheckIfCorrectAssetIsAssigned()
  22. {
  23. if (m_PipelineAsset == null)
  24. return;
  25. bool correctAssetAssigned = isCorrectAssetAssigned;
  26. if (!correctAssetAssigned && m_LastCorrectPipelineResults != correctAssetAssigned)
  27. Debug.LogError("Incorrect/missing Universal Renderpipeline Asset assigned in Quality or Graphics Settings.\nPlease assign \"" + m_PipelineAsset.name + "\" to it.");
  28. m_LastCorrectPipelineResults = correctAssetAssigned;
  29. if (m_WarningGameObject != null)
  30. m_WarningGameObject.SetActive(!correctAssetAssigned);
  31. }
  32. }