summaryrefslogtreecommitdiff
path: root/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2020-10-15 07:24:10 +0800
committerchai <chaifix@163.com>2020-10-15 07:24:10 +0800
commite846c64d6f927879cb8a095e62d773a8d7b3c9f4 (patch)
tree7882744bbf2b6c7096ec15fb300f088c5a0807c5 /Assets/Plugins/AdvancedInspector/Attributes/TextField.cs
parentcd12e74241678ee3c0752484d310b202187ba24c (diff)
*ability system
Diffstat (limited to 'Assets/Plugins/AdvancedInspector/Attributes/TextField.cs')
-rw-r--r--Assets/Plugins/AdvancedInspector/Attributes/TextField.cs87
1 files changed, 87 insertions, 0 deletions
diff --git a/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs b/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs
new file mode 100644
index 00000000..555fa1cb
--- /dev/null
+++ b/Assets/Plugins/AdvancedInspector/Attributes/TextField.cs
@@ -0,0 +1,87 @@
+using System;
+
+namespace AdvancedInspector
+{
+ /// <summary>
+ /// This allows control over how a string field is displayed.
+ /// Only useful on string field.
+ /// </summary>
+ [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property)]
+ public class TextFieldAttribute : Attribute, IListAttribute
+ {
+ private const string TITLE = "Select Path...";
+ private const string PATH = "";
+ private const string EXTENSION = "";
+
+ private string title = "";
+
+ /// <summary>
+ /// Title of the modal dialog
+ /// </summary>
+ public string Title
+ {
+ get { return title; }
+ set { title = value; }
+ }
+
+ private string path = "C:\\";
+
+ /// <summary>
+ /// Default file/folder path
+ /// </summary>
+ public string Path
+ {
+ get { return path; }
+ set { path = value; }
+ }
+
+ private string extension = "";
+
+ /// <summary>
+ /// Force the file dialog to show only specific file type.
+ /// </summary>
+ public string Extension
+ {
+ get { return extension; }
+ set { extension = value; }
+ }
+
+ private TextFieldType type;
+
+ /// <summary>
+ /// What type of control is this string.
+ /// </summary>
+ public TextFieldType Type
+ {
+ get { return type; }
+ set { type = value; }
+ }
+
+ public TextFieldAttribute(TextFieldType type)
+ : this(type, TITLE, PATH, EXTENSION) { }
+
+ public TextFieldAttribute(TextFieldType type, string title)
+ : this(type, title, PATH, EXTENSION) { }
+
+ public TextFieldAttribute(TextFieldType type, string title, string path)
+ : this(type, title, path, EXTENSION) { }
+
+ public TextFieldAttribute(TextFieldType type, string title, string path, string extension)
+ {
+ this.type = type;
+ this.title = title;
+ this.path = path;
+ this.extension = extension;
+ }
+ }
+
+ public enum TextFieldType
+ {
+ Standard,
+ Password,
+ Area,
+ Tag,
+ File,
+ Folder
+ }
+} \ No newline at end of file