UNPKG

top.fancybit.odin_inspector

Version:

odin inspector plugin

1,030 lines (966 loc) 282 kB
<?xml version="1.0"?> <doc> <assembly> <name>Sirenix.OdinInspector.Attributes</name> </assembly> <members> <member name="T:Sirenix.OdinInspector.AssetListAttribute"> <summary> <para>AssetLists is used on lists and arrays and single elements of unity types, and replaces the default list drawer with a list of all possible assets with the specified filter.</para> <para>Use this to both filter and include or exclude assets from a list or an array, without navigating the project window.</para> </summary> <remarks> <para>Asset lists works on all asset types such as materials, scriptable objects, prefabs, custom components, audio, textures etc, and does also show inherited types.</para> </remarks> <example> <para>The following example will display an asset list of all prefabs located in the project window.</para> <code> public class AssetListExamples : MonoBehaviour { [InfoBox("The AssetList attribute work on both lists of UnityEngine.Object types and UnityEngine.Object types, but have different behaviour.")] [AssetList] [InlineEditor(InlineEditorModes.LargePreview)] public GameObject Prefab; [AssetList] public List&lt;PlaceableObject&gt; PlaceableObjects; [AssetList(Path = "Plugins/Sirenix/")] [InlineEditor(InlineEditorModes.LargePreview)] public UnityEngine.Object Object; [AssetList(AutoPopulate = true)] public List&lt;PlaceableObject&gt; PlaceableObjectsAutoPopulated; [AssetList(LayerNames = "MyLayerName")] public GameObject[] AllPrefabsWithLayerName; [AssetList(AssetNamePrefix = "Rock")] public List&lt;GameObject&gt; PrefabsStartingWithRock; [AssetList(Path = "/Plugins/Sirenix/")] public List&lt;GameObject&gt; AllPrefabsLocatedInFolder; [AssetList(Tags = "MyTagA, MyTabB", Path = "/Plugins/Sirenix/")] public List&lt;GameObject&gt; GameObjectsWithTag; [AssetList(Path = "/Plugins/Sirenix/")] public List&lt;Material&gt; AllMaterialsInSirenix; [AssetList(Path = "/Plugins/Sirenix/")] public List&lt;ScriptableObject&gt; AllScriptableObjects; [InfoBox("Use a method as a custom filter for the asset list.")] [AssetList(CustomFilterMethod = "HasRigidbodyComponent")] public List&lt;GameObject&gt; MyRigidbodyPrefabs; private bool HasRigidbodyComponent(GameObject obj) { return obj.GetComponent&lt;Rigidbody&gt;() != null; } } </code> </example> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.AutoPopulate"> <summary> <para>If <c>true</c>, all assets found and displayed by the asset list, will automatically be added to the list when inspected.</para> </summary> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.Tags"> <summary> <para>Comma separated list of tags to filter the asset list.</para> </summary> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.LayerNames"> <summary> <para>Filter the asset list to only include assets with a specified layer.</para> </summary> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.AssetNamePrefix"> <summary> <para>Filter the asset list to only include assets which name begins with.</para> </summary> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.Path"> <summary> <para>Filter the asset list to only include assets which is located at the specified path.</para> </summary> </member> <member name="F:Sirenix.OdinInspector.AssetListAttribute.CustomFilterMethod"> <summary> <para>Filter the asset list to only include assets for which the given filter method returns true.</para> </summary> </member> <member name="M:Sirenix.OdinInspector.AssetListAttribute.#ctor"> <summary> <para>Initializes a new instance of the <see cref="T:Sirenix.OdinInspector.AssetListAttribute"/> class.</para> </summary> </member> <member name="T:Sirenix.OdinInspector.AssetSelectorAttribute"> <summary> The AssetSelector attribute can be used on all Unity types and will prepend a small button next to the object field that when clicked, will present the user with a dropdown of assets to select from which can be customized from the attribute. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.IsUniqueList"> <summary> True by default. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.DrawDropdownForListElements"> <summary> True by default. If the ValueDropdown attribute is applied to a list, then disabling this, will render all child elements normally without using the ValueDropdown. The ValueDropdown will still show up when you click the add button on the list drawer, unless <see cref="F:Sirenix.OdinInspector.AssetSelectorAttribute.DisableListAddButtonBehaviour"/> is true. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.DisableListAddButtonBehaviour"> <summary> False by default. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.ExcludeExistingValuesInList"> <summary> If the ValueDropdown attribute is applied to a list, and <see cref="F:Sirenix.OdinInspector.AssetSelectorAttribute.IsUniqueList"/> is set to true, then enabling this, will exclude existing values, instead of rendering a checkbox indicating whether the item is already included or not. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.ExpandAllMenuItems"> <summary> If the dropdown renders a tree-view, then setting this to true will ensure everything is expanded by default. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.FlattenTreeView"> <summary> By default, the dropdown will create a tree view. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.DropdownWidth"> <summary> Gets or sets the width of the dropdown. Default is zero. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.DropdownHeight"> <summary> Gets or sets the height of the dropdown. Default is zero. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.DropdownTitle"> <summary> Gets or sets the title for the dropdown. Null by default. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.SearchInFolders"> <summary> Specify which folders to search in. Specifying no folders will make it search in your entire project. Use the <see cref="P:Sirenix.OdinInspector.AssetSelectorAttribute.Paths"/> property for a more clean way of populating this array through attributes. </summary> </member> <member name="F:Sirenix.OdinInspector.AssetSelectorAttribute.Filter"> <summary> The filters we should use when calling AssetDatabase.FindAssets. </summary> </member> <member name="P:Sirenix.OdinInspector.AssetSelectorAttribute.Paths"> <summary> <para> Specify which folders to search in. Specifying no folders will make it search in your entire project. You can decalir multiple paths using '|' as the seperator. Example: <code>[AssetList(Paths = "Assets/Textures|Assets/Other/Textures")]</code> </para> <para> This property is simply a more clean way of populating the <see cref="F:Sirenix.OdinInspector.AssetSelectorAttribute.SearchInFolders"/> array. </para> </summary> </member> <member name="T:Sirenix.OdinInspector.AssetsOnlyAttribute"> <summary> <para>AssetsOnly is used on object properties, and restricts the property to project assets, and not scene objects.</para> <para>Use this when you want to ensure an object is from the project, and not from the scene.</para> </summary> <example> <para>The following example shows a component with a game object property, that must be a prefab from the project, and not a scene object.</para> <code> public MyComponent : MonoBehaviour { [AssetsOnly] public GameObject MyPrefab; } </code> </example> <seealso cref="T:Sirenix.OdinInspector.SceneObjectsOnlyAttribute"/> </member> <member name="T:Sirenix.OdinInspector.BoxGroupAttribute"> <summary> <para>BoxGroup is used on any property and organizes the property in a boxed group.</para> <para>Use this to cleanly organize relevant values together in the inspector.</para> </summary> <example> <para>The following example shows how BoxGroup is used to organize properties together into a box.</para> <code> public class BoxGroupExamples : MonoBehaviour { // Box with a centered title. [BoxGroup("Centered Title", centerLabel: true)] public int A; [BoxGroup("Centered Title", centerLabel: true)] public int B; [BoxGroup("Centered Title", centerLabel: true)] public int C; // Box with a title. [BoxGroup("Left Oriented Title")] public int D; [BoxGroup("Left Oriented Title")] public int E; // Box with a title recieved from a field. [BoxGroup("$DynamicTitle1"), LabelText("Dynamic Title")] public string DynamicTitle1 = "Dynamic box title"; [BoxGroup("$DynamicTitle1")] public int F; // Box with a title recieved from a property. [BoxGroup("$DynamicTitle2")] public int G; [BoxGroup("$DynamicTitle2")] public int H; // Box without a title. [InfoBox("You can also hide the label of a box group.")] [BoxGroup("NoTitle", false)] public int I; [BoxGroup("NoTitle")] public int J; [BoxGroup("NoTitle")] public int K; #if UNITY_EDITOR public string DynamicTitle2 { get { return UnityEditor.PlayerSettings.productName; } } #endif [BoxGroup("Boxed Struct"), HideLabel] public SomeStruct BoxedStruct; public SomeStruct DefaultStruct; [Serializable] public struct SomeStruct { public int One; public int Two; public int Three; } } </code> </example> <seealso cref="T:Sirenix.OdinInspector.ButtonGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.FoldoutGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.HorizontalGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.TabGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.ToggleGroupAttribute"/> </member> <member name="F:Sirenix.OdinInspector.BoxGroupAttribute.ShowLabel"> <summary> If <c>true</c> a label for the group will be drawn on top. </summary> </member> <member name="F:Sirenix.OdinInspector.BoxGroupAttribute.CenterLabel"> <summary> If <c>true</c> the header label will be places in the center of the group header. Otherwise it will be in left side. </summary> </member> <member name="F:Sirenix.OdinInspector.BoxGroupAttribute.LabelText"> <summary> If non-null, this is used instead of the group's name as the title label. </summary> </member> <member name="M:Sirenix.OdinInspector.BoxGroupAttribute.#ctor(System.String,System.Boolean,System.Boolean,System.Single)"> <summary> Adds the property to the specified box group. </summary> <param name="group">The box group.</param> <param name="showLabel">If <c>true</c> a label will be drawn for the group.</param> <param name="centerLabel">If set to <c>true</c> the header label will be centered.</param> <param name="order">The order of the group in the inspector.</param> </member> <member name="M:Sirenix.OdinInspector.BoxGroupAttribute.#ctor"> <summary> Initializes a new instance of the <see cref="T:Sirenix.OdinInspector.BoxGroupAttribute"/> class. Use the other constructor overloads in order to show a header-label on the box group. </summary> </member> <member name="M:Sirenix.OdinInspector.BoxGroupAttribute.CombineValuesWith(Sirenix.OdinInspector.PropertyGroupAttribute)"> <summary> Combines the box group with another group. </summary> <param name="other">The other group.</param> </member> <member name="T:Sirenix.OdinInspector.ButtonAttribute"> <summary> <para>Buttons are used on functions, and allows for clickable buttons in the inspector.</para> </summary> <example> <para>The following example shows a component that has an initialize method, that can be called from the inspector.</para> <code> public class MyComponent : MonoBehaviour { [Button] private void Init() { // ... } } </code> </example> <example> <para>The following example show how a Button could be used to test a function.</para> <code> public class MyBot : MonoBehaviour { [Button] private void Jump() { // ... } } </code> </example> <example> <para>The following example show how a Button can named differently than the function it's been attached to.</para> <code> public class MyComponent : MonoBehaviour { [Button("Function")] private void MyFunction() { // ... } } </code> </example> <seealso cref="T:Sirenix.OdinInspector.InlineButtonAttribute"/> <seealso cref="T:Sirenix.OdinInspector.ButtonGroupAttribute"/> </member> <member name="F:Sirenix.OdinInspector.ButtonAttribute.ButtonHeight"> <summary> Gets the height of the button. If it's zero or below then use default. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonAttribute.Name"> <summary> Use this to override the label on the button. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonAttribute.Style"> <summary> The style in which to draw the button. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonAttribute.Expanded"> <summary> If the button contains parameters, you can disable the foldout it creates by setting this to true. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonAttribute.DisplayParameters"> <summary> <para>Whether to display the button method's parameters (if any) as values in the inspector. True by default.</para> <para>If this is set to false, the button method will instead be invoked through an ActionResolver or ValueResolver (based on whether it returns a value), giving access to contextual named parameter values like "InspectorProperty property" that can be passed to the button method.</para> </summary> </member> <member name="P:Sirenix.OdinInspector.ButtonAttribute.DrawResult"> <summary> If the button has a return type, set this to false to not draw the result. Default value is true. </summary> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor"> <summary> Creates a button in the inspector named after the method. </summary> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(Sirenix.OdinInspector.ButtonSizes)"> <summary> Creates a button in the inspector named after the method. </summary> <param name="size">The size of the button.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.Int32)"> <summary> Creates a button in the inspector named after the method. </summary> <param name="buttonSize">The size of the button.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String,Sirenix.OdinInspector.ButtonSizes)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> <param name="buttonSize">Size of the button.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String,System.Int32)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> <param name="buttonSize">Size of the button in pixels.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector named after the method. </summary> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.Int32,Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector named after the method. </summary> <param name="buttonSize">The size of the button.</param> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(Sirenix.OdinInspector.ButtonSizes,Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector named after the method. </summary> <param name="size">The size of the button.</param> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String,Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String,Sirenix.OdinInspector.ButtonSizes,Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> <param name="buttonSize">Size of the button.</param> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="M:Sirenix.OdinInspector.ButtonAttribute.#ctor(System.String,System.Int32,Sirenix.OdinInspector.ButtonStyle)"> <summary> Creates a button in the inspector with a custom name. </summary> <param name="name">Custom name for the button.</param> <param name="buttonSize">Size of the button in pixels.</param> <param name="parameterBtnStyle">Button style for methods with parameters.</param> </member> <member name="T:Sirenix.OdinInspector.ButtonGroupAttribute"> <summary> <para>ButtonGroup is used on any instance function, and adds buttons to the inspector organized into horizontal groups.</para> <para>Use this to organize multiple button in a tidy horizontal group.</para> </summary> <example> <para>The following example shows how ButtonGroup is used to organize two buttons into one group.</para> <code> public class MyComponent : MonoBehaviour { [ButtonGroup("MyGroup")] private void A() { // .. } [ButtonGroup("MyGroup")] private void B() { // .. } } </code> </example> <example> <para>The following example shows how ButtonGroup can be used to create multiple groups of buttons.</para> <code> public class MyComponent : MonoBehaviour { [ButtonGroup("First")] private void A() { } [ButtonGroup("First")] private void B() { } [ButtonGroup("")] private void One() { } [ButtonGroup("")] private void Two() { } [ButtonGroup("")] private void Three() { } } </code> </example> <seealso cref="T:Sirenix.OdinInspector.ButtonAttribute"/> <seealso cref="T:Sirenix.OdinInspector.InlineButtonAttribute"/> <seealso cref="T:Sirenix.OdinInspector.BoxGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.FoldoutGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.HorizontalGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.TabGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.ToggleGroupAttribute"/> </member> <member name="M:Sirenix.OdinInspector.ButtonGroupAttribute.#ctor(System.String,System.Single)"> <summary> Organizes the button into the specified button group. </summary> <param name="group">The group to organize the button into.</param> <param name="order">The order of the group in the inspector..</param> </member> <member name="T:Sirenix.OdinInspector.ButtonStyle"> <summary> Button style for methods with parameters. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonStyle.CompactBox"> <summary> Draws a foldout box around the parameters of the method with the button on the box header itself. This is the default style of a method with parameters. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonStyle.FoldoutButton"> <summary> Draws a button with a foldout to expose the parameters of the method. </summary> </member> <member name="F:Sirenix.OdinInspector.ButtonStyle.Box"> <summary> Draws a foldout box around the parameters of the method with the button at the bottom of the box. </summary> </member> <member name="T:Sirenix.OdinInspector.ChildGameObjectsOnlyAttribute"> <summary> The ChildGameObjectsOnly attribute can be used on Components and GameObject fields and will prepend a small button next to the object-field that will search through all child gameobjects for assignable objects and present them in a dropdown for the user to choose from. </summary> <seealso cref="T:System.Attribute" /> </member> <member name="T:Sirenix.OdinInspector.CustomValueDrawerAttribute"> <summary> Instead of making a new attribute, and a new drawer, for a one-time thing, you can with this attribute, make a method that acts as a custom property drawer. These drawers will out of the box have support for undo/redo and multi-selection. </summary> <example> Usage: <code> public class CustomDrawerExamples : MonoBehaviour { public float From = 2, To = 7; [CustomValueDrawer("MyStaticCustomDrawerStatic")] public float CustomDrawerStatic; [CustomValueDrawer("MyStaticCustomDrawerInstance")] public float CustomDrawerInstance; [CustomValueDrawer("MyStaticCustomDrawerArray")] public float[] CustomDrawerArray; #if UNITY_EDITOR private static float MyStaticCustomDrawerStatic(float value, GUIContent label) { return EditorGUILayout.Slider(value, 0f, 10f); } private float MyStaticCustomDrawerInstance(float value, GUIContent label) { return EditorGUILayout.Slider(value, this.From, this.To); } private float MyStaticCustomDrawerArray(float value, GUIContent label) { return EditorGUILayout.Slider(value, this.From, this.To); } #endif } </code> </example> </member> <member name="P:Sirenix.OdinInspector.CustomValueDrawerAttribute.MethodName"> <summary> Name of the custom drawer method. Obsolete; use the Action member instead. </summary> </member> <member name="F:Sirenix.OdinInspector.CustomValueDrawerAttribute.Action"> <summary> A resolved string that defines the custom drawer action to take, such as an expression or method invocation. </summary> </member> <member name="M:Sirenix.OdinInspector.CustomValueDrawerAttribute.#ctor(System.String)"> <summary> Instead of making a new attribute, and a new drawer, for a one-time thing, you can with this attribute, make a method that acts as a custom property drawer. These drawers will out of the box have support for undo/redo and multi-selection. </summary> <param name="action">A resolved string that defines the custom drawer action to take, such as an expression or method invocation.</param> </member> <member name="T:Sirenix.OdinInspector.DisableInInlineEditorsAttribute"> <summary> Disables a property if it is drawn within an <see cref="T:Sirenix.OdinInspector.InlineEditorAttribute"/>. </summary> </member> <member name="T:Sirenix.OdinInspector.DisableInNonPrefabsAttribute"> <summary> Disables a property if it is drawn from a non-prefab asset or instance. </summary> </member> <member name="T:Sirenix.OdinInspector.DisableInPrefabAssetsAttribute"> <summary> Disables a property if it is drawn from a prefab asset. </summary> </member> <member name="T:Sirenix.OdinInspector.DisableInPrefabInstancesAttribute"> <summary> Disables a property if it is drawn from a prefab instance. </summary> </member> <member name="T:Sirenix.OdinInspector.DisableInPrefabsAttribute"> <summary> Disables a property if it is drawn from a prefab asset or a prefab instance. </summary> </member> <member name="T:Sirenix.OdinInspector.DoNotDrawAsReferenceAttribute"> <summary> Indicates that the member should not be drawn as a value reference, if it becomes a reference to another value in the tree. Beware, and use with care! This may lead to infinite draw loops! </summary> </member> <member name="T:Sirenix.OdinInspector.EnableGUIAttribute"> <summary> <para>An attribute that enables GUI.</para> </summary> <example> <code> public class InlineEditorExamples : MonoBehaviour { [EnableGUI] public string SomeReadonlyProperty { get { return "My GUI is usually disabled." } } } </code> </example> <seealso cref="T:Sirenix.OdinInspector.ReadOnlyAttribute"/> </member> <member name="T:Sirenix.OdinInspector.EnumPagingAttribute"> <summary> <para>Draws an enum selector in the inspector with next and previous buttons to let you cycle through the available values for the enum property.</para> </summary> <example> <code> public enum MyEnum { One, Two, Three, } public class MyMonoBehaviour : MonoBehaviour { [EnumPaging] public MyEnum Value; } </code> </example> <seealso cref="T:System.Attribute" /> </member> <member name="T:Sirenix.OdinInspector.FilePathAttribute"> <summary> <para>FilePath is used on string properties, and provides an interface for file paths.</para> </summary> <example> <para>The following example demonstrates how FilePath is used.</para> <code> public class FilePathExamples : MonoBehaviour { // By default, FilePath provides a path relative to the Unity project. [FilePath] public string UnityProjectPath; // It is possible to provide custom parent path. Parent paths can be relative to the Unity project, or absolute. [FilePath(ParentFolder = "Assets/Plugins/Sirenix")] public string RelativeToParentPath; // Using parent path, FilePath can also provide a path relative to a resources folder. [FilePath(ParentFolder = "Assets/Resources")] public string ResourcePath; // Provide a comma seperated list of allowed extensions. Dots are optional. [FilePath(Extensions = "cs")] public string ScriptFiles; // By setting AbsolutePath to true, the FilePath will provide an absolute path instead. [FilePath(AbsolutePath = true)] [BoxGroup("Conditions")] public string AbsolutePath; // FilePath can also be configured to show an error, if the provided path is invalid. [FilePath(RequireValidPath = true)] public string ValidPath; // By default, FilePath will enforce the use of forward slashes. It can also be configured to use backslashes instead. [FilePath(UseBackslashes = true)] public string Backslashes; // FilePath also supports member references with the $ symbol. [FilePath(ParentFolder = "$DynamicParent", Extensions = "$DynamicExtensions")] public string DynamicFilePath; public string DynamicParent = "Assets/Plugin/Sirenix"; public string DynamicExtensions = "cs, unity, jpg"; } </code> </example> <seealso cref="T:Sirenix.OdinInspector.FolderPathAttribute"/> <seealso cref="T:Sirenix.OdinInspector.DisplayAsStringAttribute"/> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.AbsolutePath"> <summary> If <c>true</c> the FilePath will provide an absolute path, instead of a relative one. </summary> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.Extensions"> <summary> Comma separated list of allowed file extensions. Dots are optional. Supports member referencing with $. </summary> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.ParentFolder"> <summary> ParentFolder provides an override for where the path is relative to. ParentFolder can be relative to the Unity project, or an absolute path. Supports member referencing with $. </summary> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.RequireValidPath"> <summary> If <c>true</c> an error will be displayed for invalid, or missing paths. </summary> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.RequireExistingPath"> <summary> If <c>true</c> an error will be displayed for non-existing paths. </summary> </member> <member name="F:Sirenix.OdinInspector.FilePathAttribute.UseBackslashes"> <summary> By default FilePath enforces forward slashes. Set UseBackslashes to <c>true</c> if you want backslashes instead. </summary> </member> <member name="P:Sirenix.OdinInspector.FilePathAttribute.ReadOnly"> <summary> Gets or sets a value indicating whether the path should be read only. </summary> </member> <member name="T:Sirenix.OdinInspector.FolderPathAttribute"> <summary> <para>FolderPath is used on string properties, and provides an interface for directory paths.</para> </summary> <example> <para>The following example demonstrates how FolderPath is used.</para> <code> public class FolderPathExamples : MonoBehaviour { // By default, FolderPath provides a path relative to the Unity project. [FolderPath] public string UnityProjectPath; // It is possible to provide custom parent patn. ParentFolder paths can be relative to the Unity project, or absolute. [FolderPath(ParentFolder = "Assets/Plugins/Sirenix")] public string RelativeToParentPath; // Using ParentFolder, FolderPath can also provide a path relative to a resources folder. [FolderPath(ParentFolder = "Assets/Resources")] public string ResourcePath; // By setting AbsolutePath to true, the FolderPath will provide an absolute path instead. [FolderPath(AbsolutePath = true)] public string AbsolutePath; // FolderPath can also be configured to show an error, if the provided path is invalid. [FolderPath(RequireValidPath = true)] public string ValidPath; // By default, FolderPath will enforce the use of forward slashes. It can also be configured to use backslashes instead. [FolderPath(UseBackslashes = true)] public string Backslashes; // FolderPath also supports member references with the $ symbol. [FolderPath(ParentFolder = "$DynamicParent")] public string DynamicFolderPath; public string DynamicParent = "Assets/Plugins/Sirenix"; } </code> </example> <seealso cref="T:Sirenix.OdinInspector.FilePathAttribute"/> <seealso cref="T:Sirenix.OdinInspector.DisplayAsStringAttribute"/> </member> <member name="F:Sirenix.OdinInspector.FolderPathAttribute.AbsolutePath"> <summary> If <c>true</c> the FolderPath will provide an absolute path, instead of a relative one. </summary> </member> <member name="F:Sirenix.OdinInspector.FolderPathAttribute.ParentFolder"> <summary> ParentFolder provides an override for where the path is relative to. ParentFolder can be relative to the Unity project, or an absolute path. Supports member referencing with $. </summary> </member> <member name="F:Sirenix.OdinInspector.FolderPathAttribute.RequireValidPath"> <summary> If <c>true</c> an error will be displayed for invalid, or missing paths. </summary> </member> <member name="F:Sirenix.OdinInspector.FolderPathAttribute.RequireExistingPath"> <summary> If <c>true</c> an error will be displayed for non-existing paths. </summary> </member> <member name="F:Sirenix.OdinInspector.FolderPathAttribute.UseBackslashes"> <summary> By default FolderPath enforces forward slashes. Set UseBackslashes to <c>true</c> if you want backslashes instead. </summary> </member> <member name="T:Sirenix.OdinInspector.HideDuplicateReferenceBoxAttribute"> <summary> Indicates that Odin should hide the reference box, if this property would otherwise be drawn as a reference to another property, due to duplicate reference values being encountered. Note that if the value is referencing itself recursively, then the reference box will be drawn regardless of this attribute in all recursive draw calls. </summary> </member> <member name="T:Sirenix.OdinInspector.HideIfGroupAttribute"> <summary> <p>HideIfGroup allows for showing or hiding a group of properties based on a condition.</p> <p>The attribute is a group attribute and can therefore be combined with other group attributes, and even be used to show or hide entire groups.</p> <p>Note that in the vast majority of cases where you simply want to be able to control the visibility of a single group, it is better to use the VisibleIf parameter that *all* group attributes have.</p> </summary> <seealso cref="T:Sirenix.OdinInspector.ShowIfAttribute"/> <seealso cref="T:Sirenix.OdinInspector.HideIfAttribute"/> <seealso cref="T:Sirenix.OdinInspector.ShowIfGroupAttribute"/> <seealso cref="T:Sirenix.OdinInspector.ShowInInspectorAttribute"/> <seealso cref="T:UnityEngine.HideInInspector"/> </member> <member name="P:Sirenix.OdinInspector.HideIfGroupAttribute.Animate"> <summary> Whether or not to visually animate group visibility changes. </summary> </member> <member name="F:Sirenix.OdinInspector.HideIfGroupAttribute.Value"> <summary> The optional member value. </summary> </member> <member name="P:Sirenix.OdinInspector.HideIfGroupAttribute.MemberName"> <summary> Name of member to use when to hide the group. Defaults to the name of the group, by can be overriden by setting this property. </summary> </member> <member name="P:Sirenix.OdinInspector.HideIfGroupAttribute.Condition"> <summary> A resolved string that defines the condition to check the value of, such as a member name or an expression. </summary> </member> <member name="M:Sirenix.OdinInspector.HideIfGroupAttribute.#ctor(System.String,System.Boolean)"> <summary> Makes a group that can be shown or hidden based on a condition. </summary> <param name="path">The group path.</param> <param name="animate">If <c>true</c> then a fade animation will be played when the group is hidden or shown.</param> </member> <member name="M:Sirenix.OdinInspector.HideIfGroupAttribute.#ctor(System.String,System.Object,System.Boolean)"> <summary> Makes a group that can be shown or hidden based on a condition. </summary> <param name="path">The group path.</param> <param name="value">The value the member should equal for the property to shown.</param> <param name="animate">If <c>true</c> then a fade animation will be played when the group is hidden or shown.</param> </member> <member name="M:Sirenix.OdinInspector.HideIfGroupAttribute.CombineValuesWith(Sirenix.OdinInspector.PropertyGroupAttribute)"> <summary> Combines HideIfGroup attributes. </summary> <param name="other">Another ShowIfGroup attribute.</param> </member> <member name="T:Sirenix.OdinInspector.HideInInlineEditorsAttribute"> <summary> Hides a property if it is drawn within an <see cref="T:Sirenix.OdinInspector.InlineEditorAttribute"/>. </summary> </member> <member name="T:Sirenix.OdinInspector.HideInNonPrefabsAttribute"> <summary> Hides a property if it is drawn from a non prefab instance or asset. </summary> </member> <member name="T:Sirenix.OdinInspector.HideInPrefabAssetsAttribute"> <summary> Hides a property if it is drawn from a prefab asset. </summary> </member> <member name="T:Sirenix.OdinInspector.HideInPrefabInstancesAttribute"> <summary> Hides a property if it is drawn from a prefab instance. </summary> </member> <member name="T:Sirenix.OdinInspector.HideInPrefabsAttribute"> <summary> Hides a property if it is drawn from a prefab instance or a prefab asset. </summary> </member> <member name="T:Sirenix.OdinInspector.HideInTablesAttribute"> <summary> The HideInTables attribute is used to prevent members from showing up as columns in tables drawn using the <see cref="T:Sirenix.OdinInspector.TableListAttribute"/>. </summary> </member> <member name="T:Sirenix.OdinInspector.HideNetworkBehaviourFieldsAttribute"> <summary> Apply HideNetworkBehaviourFields to your class to prevent the special "Network Channel" and "Network Send Interval" properties from being shown in the inspector for a NetworkBehaviour. This attribute has no effect on classes that are not derived from NetworkBehaviour. </summary> <example> <para>The following example shows how to use this attribute.</para> <code> [HideNetworkBehaviourFields] public class MyComponent : NetworkBehaviour { // The "Network Channel" and "Network Send Interval" properties will not be shown for this component in the inspector } </code> </example> <seealso cref="T:System.Attribute" /> </member> <member name="T:Sirenix.OdinInspector.InlinePropertyAttribute"> <summary> The Inline Property is used to place the contents of a type next to the label, instead of being rendered in a foldout. </summary> <example> <code> public class InlinePropertyExamples : MonoBehaviour { public Vector3 Vector3; public Vector3Int Vector3Int; [InlineProperty(LabelWidth = 12)] // It can be placed on classes as well as members public Vector2Int Vector2Int; } [Serializable] [InlineProperty(LabelWidth = 12)] // It can be placed on classes as well as members public struct Vector3Int { [HorizontalGroup] public int X; [HorizontalGroup] public int Y; [HorizontalGroup] public int Z; } [Serializable] public struct Vector2Int { [HorizontalGroup] public int X; [HorizontalGroup] public int Y; } </code> </example> <seealso cref="T:System.Attribute" /> </member> <member name="F:Sirenix.OdinInspector.InlinePropertyAttribute.LabelWidth"> <summary> Specify a label width for all child properties. </summary> </member> <member name="T:Sirenix.OdinInspector.LabelWidthAttribute"> <summary> <para>LabelWidth is used to change the width of labels for properties.</para> </summary> <example> <para>The following example shows how LabelText is applied to a few property fields.</para> <code> public MyComponent : MonoBehaviour { [LabelWidth("3")] public int MyInt3; } </code> </example> <seealso cref="T:Sirenix.OdinInspector.TitleAttribute"/> </member> <member name="F:Sirenix.OdinInspector.LabelWidthAttribute.Width"> <summary> The new text of the label. </summary> </member> <member name="M:Sirenix.OdinInspector.LabelWidthAttribute.#ctor(System.Single)"> <summary> Give a property a custom label. </summary> <param name="width">The width of the label.</param> </member> <member name="T:Sirenix.OdinInspector.OnCollectionChangedAttribute"> <summary> <para> OnCollectionC