using UnityEngine;
namespace Cinemachine
{
///
/// Property applied to AxisState. Used for custom drawing in the inspector.
///
public sealed class AxisStatePropertyAttribute : PropertyAttribute {}
///
/// Property applied to OrbitalTransposer.Heading. Used for custom drawing in the inspector.
///
public sealed class OrbitalTransposerHeadingPropertyAttribute : PropertyAttribute {}
///
/// This attributs is obsolete and unused.
///
public sealed class LensSettingsPropertyAttribute : PropertyAttribute {}
///
/// Property applied to Vcam Target fields. Used for custom drawing in the inspector.
///
public sealed class VcamTargetPropertyAttribute : PropertyAttribute { }
///
/// Property applied to CinemachineBlendDefinition. Used for custom drawing in the inspector.
///
public sealed class CinemachineBlendDefinitionPropertyAttribute : PropertyAttribute {}
///
/// Invoke play-mode-save for a class. This class's fields will be scanned
/// upon exiting play mode, and its property values will be applied to the scene object.
/// This is a stopgap measure that will become obsolete once Unity implements
/// play-mode-save in a more general way.
///
public sealed class SaveDuringPlayAttribute : System.Attribute {}
///
/// Suppresses play-mode-save for a field. Use it if the calsee has [SaveDuringPlay]
/// attribute but there are fields in the class that shouldn't be saved.
///
public sealed class NoSaveDuringPlayAttribute : PropertyAttribute {}
/// Property field is a Tag.
public sealed class TagFieldAttribute : PropertyAttribute {}
/// Property field is a NoiseSettings asset.
public sealed class NoiseSettingsPropertyAttribute : PropertyAttribute {}
///
/// Used for custom drawing in the inspector. Inspector will show a foldout with the asset contents
///
public sealed class CinemachineEmbeddedAssetPropertyAttribute : PropertyAttribute
{
/// If true, inspector will display a warning if the embedded asset is null
public bool WarnIfNull;
/// Standard constructor
/// If true, inspector will display a warning if the embedded asset is null
public CinemachineEmbeddedAssetPropertyAttribute(bool warnIfNull = false)
{
WarnIfNull = warnIfNull;
}
}
///
/// Atrtribute to control the automatic generation of documentation. This attribute is obsolete and not used.
///
[DocumentationSorting(DocumentationSortingAttribute.Level.Undoc)]
public sealed class DocumentationSortingAttribute : System.Attribute
{
/// Refinement level of the documentation
public enum Level
{
/// Type is excluded from documentation
Undoc,
/// Type is documented in the API reference
API,
/// Type is documented in the highly-refined User Manual
UserRef
};
/// Refinement level of the documentation. The more refined, the more is excluded.
public Level Category { get; private set; }
/// Contructor with specific values
/// Documentation level
public DocumentationSortingAttribute(Level category)
{
Category = category;
}
}
}