using System;
using System.Collections.Generic;
namespace UnityEngine.Rendering
{
///
/// Volume debug settings.
/// This variant is obsolete and kept only for not breaking user code. Use for all new usage.
///
[Obsolete("This variant is obsolete and kept only for not breaking user code. Use IVolumeDebugSettings2 for all new usage.", false)]
public interface IVolumeDebugSettings
{
/// Selected component.
int selectedComponent { get; set; }
/// Current camera to debug.
Camera selectedCamera { get; }
/// Returns the collection of registered cameras.
IEnumerable cameras { get; }
/// Selected camera index.
int selectedCameraIndex { get; set; }
/// Selected camera volume stack.
VolumeStack selectedCameraVolumeStack { get; }
/// Selected camera volume layer mask.
LayerMask selectedCameraLayerMask { get; }
/// Selected camera volume position.
Vector3 selectedCameraPosition { get; }
/// Type of the current component to debug.
Type selectedComponentType { get; set; }
///
/// Obtains the Volumes
///
/// The list of
Volume[] GetVolumes();
///
/// Return if the has influence
///
/// to check the influence
/// If the volume has influence
bool VolumeHasInfluence(Volume volume);
///
/// Refreshes the volumes, fetches the stored volumes on the panel
///
/// The list of to refresh
/// If the volumes have been refreshed
bool RefreshVolumes(Volume[] newVolumes);
///
/// Obtains the volume weight
///
///
/// The weight of the volume
float GetVolumeWeight(Volume volume);
}
///
/// Volume debug settings.
///
#pragma warning disable CS0618 // Type or member is obsolete
public interface IVolumeDebugSettings2 : IVolumeDebugSettings
#pragma warning restore CS0618 // Type or member is obsolete
{
///
/// Specifies the render pipelie
///
Type targetRenderPipeline { get; }
/// List of Volume component types and their path
List<(string, Type)> volumeComponentsPathAndType { get; }
}
}