暫無描述
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.

IVolumeDebugSettings.cs 3.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. using System;
  2. using System.Collections.Generic;
  3. namespace UnityEngine.Rendering
  4. {
  5. /// <summary>
  6. /// Volume debug settings.
  7. /// This variant is obsolete and kept only for not breaking user code. Use <see cref="IVolumeDebugSettings2"/> for all new usage.
  8. /// </summary>
  9. public interface IVolumeDebugSettings
  10. {
  11. /// <summary>Selected component.</summary>
  12. int selectedComponent { get; set; }
  13. /// <summary>Current camera to debug.</summary>
  14. Camera selectedCamera { get; }
  15. /// <summary>Returns the collection of registered cameras.</summary>
  16. IEnumerable<Camera> cameras { get; }
  17. /// <summary>Selected camera index.</summary>
  18. int selectedCameraIndex { get; set; }
  19. /// <summary>Selected camera volume stack.</summary>
  20. VolumeStack selectedCameraVolumeStack { get; }
  21. /// <summary>Selected camera volume layer mask.</summary>
  22. LayerMask selectedCameraLayerMask { get; }
  23. /// <summary>Selected camera volume position.</summary>
  24. Vector3 selectedCameraPosition { get; }
  25. /// <summary>Type of the current component to debug.</summary>
  26. Type selectedComponentType { get; set; }
  27. /// <summary>
  28. /// Obtains the Volumes
  29. /// </summary>
  30. /// <returns>The list of <see cref="Volume"/></returns>
  31. Volume[] GetVolumes();
  32. /// <summary>
  33. /// Return if the <see cref="Volume"/> has influence
  34. /// </summary>
  35. /// <param name="volume"><see cref="Volume"/> to check the influence</param>
  36. /// <returns>If the volume has influence</returns>
  37. bool VolumeHasInfluence(Volume volume);
  38. /// <summary>
  39. /// Refreshes the volumes, fetches the stored volumes on the panel
  40. /// </summary>
  41. /// <param name="newVolumes">The list of <see cref="Volume"/> to refresh</param>
  42. /// <returns>If the volumes have been refreshed</returns>
  43. bool RefreshVolumes(Volume[] newVolumes);
  44. /// <summary>
  45. /// Obtains the volume weight
  46. /// </summary>
  47. /// <param name="volume"><see cref="Volume"/></param>
  48. /// <returns>The weight of the volume</returns>
  49. float GetVolumeWeight(Volume volume);
  50. }
  51. /// <summary>
  52. /// Volume debug settings.
  53. /// </summary>
  54. #pragma warning disable CS0618 // Type or member is obsolete
  55. [Obsolete("This variant is obsolete and kept only for not breaking user code. Use IVolumeDebugSettings instead. #from(23.2) (UnityUpgradable) -> IVolumeDebugSettings", false)]
  56. public interface IVolumeDebugSettings2 : IVolumeDebugSettings
  57. #pragma warning restore CS0618 // Type or member is obsolete
  58. {
  59. /// <summary>
  60. /// Specifies the render pipeline
  61. /// </summary>
  62. [Obsolete("This property is obsolete and kept only for not breaking user code. VolumeDebugSettings will use current pipeline when it needs to gather volume component types and paths. #from(23.2)", false)]
  63. Type targetRenderPipeline { get; }
  64. /// <summary>List of Volume component types and their path</summary>
  65. [Obsolete("This property is obsolete and kept only for not breaking user code. VolumeDebugSettings will use current pipeline when it needs to gather volume component types and paths. #from(23.2)", false)]
  66. List<(string, Type)> volumeComponentsPathAndType { get; }
  67. }
  68. }