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