public abstract class Metadata : IAttributeProvider, IList, IDictionary, ICollection, IEnumerable
Constructors
Declaration
protected Metadata(object subpath, Metadata parent)
Parameters
Fields
Declaration
protected Type _definedType
Field Value
Properties
Declaration
public Metadata.Children children { get; }
Property Value
Declaration
public int Count { get; }
Property Value
Declaration
public Type definedType { get; protected set; }
Property Value
Declaration
public Type dictionaryKeyType { get; }
Property Value
Declaration
public Type dictionaryType { get; }
Property Value
Declaration
public Type dictionaryValueType { get; }
Property Value
Declaration
public Type enumerableElementType { get; }
Property Value
Declaration
public Type enumerableType { get; }
Property Value
Declaration
public bool instantiate { get; set; }
Property Value
Declaration
public Func<object> instantiator { get; set; }
Property Value
Declaration
public bool isDictionary { get; }
Property Value
Declaration
public virtual bool isEditable { get; set; }
Property Value
Declaration
public bool isEnumerable { get; }
Property Value
Declaration
public bool IsFixedSize { get; }
Property Value
Declaration
public bool isLinked { get; }
Property Value
Declaration
public bool isList { get; }
Property Value
Declaration
public bool isOrderedDictionary { get; }
Property Value
Declaration
public bool isPrefabDiff { get; }
Property Value
Declaration
public bool isPrefabInstance { get; }
Property Value
Declaration
public bool isPrefabInstanceWithDefinition { get; }
Property Value
Declaration
public bool isPrefabInstanceWithoutDefinition { get; }
Property Value
Declaration
public bool isPrefabRoot { get; }
Property Value
Declaration
public bool IsReadOnly { get; }
Property Value
Declaration
public bool isRevertibleToPrefab { get; }
Property Value
Declaration
protected virtual bool isRoot { get; }
Property Value
Declaration
public bool IsSynchronized { get; }
Property Value
Declaration
public IndexMetadata this[int index] { get; }
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Property Value
Declaration
public MemberMetadata this[string name] { get; }
Parameters
Type |
Name |
Description |
String |
name |
|
Property Value
Declaration
public ICollection Keys { get; }
Property Value
Declaration
public GUIContent label { get; protected set; }
Property Value
Declaration
public Type listElementType { get; }
Property Value
Declaration
public Type listType { get; }
Property Value
Declaration
public Type nullableValueType { get; }
Property Value
Declaration
public Metadata parent { get; }
Property Value
Declaration
public string path { get; }
Property Value
Declaration
public Metadata prefabDefinition { get; protected set; }
Property Value
Declaration
protected abstract object rawValue { get; set; }
Property Value
Declaration
public Metadata root { get; }
Property Value
Declaration
protected object subpath { get; }
Property Value
Declaration
public object SyncRoot { get; }
Property Value
Declaration
public object value { get; set; }
Property Value
Declaration
public ICollection Values { get; }
Property Value
Declaration
public Type valueType { get; }
Property Value
Methods
Declaration
public int Add(object value)
Parameters
Type |
Name |
Description |
Object |
value |
|
Returns
Declaration
public void Add(object key, object value)
Parameters
Declaration
public Metadata Ancestor(Func<Metadata, bool> predicate, bool includeSelf = false)
Parameters
Returns
Declaration
public T Ancestor<T>(bool includeSelf = false)
where T : Metadata
Parameters
Type |
Name |
Description |
Boolean |
includeSelf |
|
Returns
Type Parameters
Declaration
public bool AncestorHasAttribute(Type attributeType, bool inherit = true)
Parameters
Type |
Name |
Description |
Type |
attributeType |
|
Boolean |
inherit |
|
Returns
Declaration
public bool AncestorHasAttribute<TAttribute>(bool inherit = true)
where TAttribute : Attribute
Parameters
Type |
Name |
Description |
Boolean |
inherit |
|
Returns
Type Parameters
Name |
Description |
TAttribute |
|
Declaration
protected void ApplyResizableList()
Declaration
public Metadata AutoDig(string path)
Parameters
Type |
Name |
Description |
String |
path |
|
Returns
Declaration
public CastMetadata Cast(Type type)
Parameters
Type |
Name |
Description |
Type |
type |
|
Returns
Declaration
public CastMetadata Cast<T>()
Returns
Type Parameters
Declaration
Declaration
public bool Contains(object value)
Parameters
Type |
Name |
Description |
Object |
value |
|
Returns
Declaration
public void CopyTo(Array array, int index)
Parameters
Declaration
public IEnumerable<Metadata> Descendants(Func<Metadata, bool> predicate)
Parameters
Returns
Declaration
public IEnumerable<T> Descendants<T>()
where T : Metadata
Returns
Type Parameters
Declaration
public DictionaryKeyAtIndexMetadata DictionaryKeyAt(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Returns
Declaration
public DictionaryValueAtIndexMetadata DictionaryValueAt(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Returns
Declaration
protected TMetadata Dig<TSubpath, TMetadata>(TSubpath subpath, Func<Metadata, TMetadata> constructor, bool createInPrefab, Metadata prefabInstance = null)
where TMetadata : Metadata
Parameters
Returns
Type |
Description |
TMetadata |
|
Type Parameters
Name |
Description |
TSubpath |
|
TMetadata |
|
Declaration
public void Duplicate(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Declaration
public EditorPrefMetadata EditorPref(PluginConfiguration configuration, MemberInfo member)
Parameters
Returns
Declaration
public void EnsureLinked()
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
Object |
obj |
|
Returns
Overrides
Declaration
public static Metadata FromProperty(SerializedProperty property)
Parameters
Returns
Declaration
public Attribute GetAncestorAttribute(Type attributeType, bool inherit = true)
Parameters
Type |
Name |
Description |
Type |
attributeType |
|
Boolean |
inherit |
|
Returns
Declaration
public TAttribute GetAncestorAttribute<TAttribute>(bool inherit = true)
where TAttribute : Attribute
Parameters
Type |
Name |
Description |
Boolean |
inherit |
|
Returns
Type |
Description |
TAttribute |
|
Type Parameters
Name |
Description |
TAttribute |
|
Declaration
public IEnumerable<Attribute> GetAncestorAttributes(Type attributeType, bool inherit)
Parameters
Type |
Name |
Description |
Type |
attributeType |
|
Boolean |
inherit |
|
Returns
Declaration
public IEnumerable<TAttribute> GetAncestorAttributes<TAttribute>(bool inherit = true)
where TAttribute : Attribute
Parameters
Type |
Name |
Description |
Boolean |
inherit |
|
Returns
Type Parameters
Name |
Description |
TAttribute |
|
Declaration
public abstract Attribute[] GetCustomAttributes(bool inherit = true)
Parameters
Type |
Name |
Description |
Boolean |
inherit |
|
Returns
Implements
Declaration
public IEnumerator GetEnumerator()
Returns
Declaration
public override int GetHashCode()
Returns
Overrides
Declaration
protected IList GetResizableList()
Returns
Declaration
public IndexMetadata Index(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Returns
Declaration
public IndexerMetadata Indexer(object indexer)
Parameters
Type |
Name |
Description |
Object |
indexer |
|
Returns
Declaration
public int IndexOf(object value)
Parameters
Type |
Name |
Description |
Object |
value |
|
Returns
Declaration
public void InferOwnerFromParent()
Declaration
public void Insert(int index, object value)
Parameters
Declaration
public Metadata KeyMetadata(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Returns
Declaration
public void MatchWithPrefab()
Declaration
public MemberMetadata Member(string name, BindingFlags bindingFlags = BindingFlags.Instance | BindingFlags.Public | BindingFlags.NonPublic)
Parameters
Returns
Declaration
public void Move(int sourceIndex, int destinationIndex)
Parameters
Type |
Name |
Description |
Int32 |
sourceIndex |
|
Int32 |
destinationIndex |
|
Declaration
public ObjectMetadata Object(string name, object object)
Parameters
Returns
Declaration
public ObjectMetadata Object(string name, object object, Type definedType)
Parameters
Returns
Declaration
protected virtual void OnParentValueChange(object previousValue)
Parameters
Type |
Name |
Description |
Object |
previousValue |
|
Declaration
protected virtual void OnParentValueTypeChange(Type previousType)
Parameters
Type |
Name |
Description |
Type |
previousType |
|
Declaration
protected virtual void OnValueChange(object previousValue)
Parameters
Type |
Name |
Description |
Object |
previousValue |
|
Declaration
protected virtual void OnValueTypeChange(Type previousType)
Parameters
Type |
Name |
Description |
Type |
previousType |
|
Declaration
public ProjectSettingMetadata ProjectSetting(PluginConfiguration configuration, MemberInfo member)
Parameters
Returns
Declaration
public ProxyMetadata Proxy(object subpath, Metadata binding)
Parameters
Returns
Declaration
Declaration
public void RecordUndo(string name)
Parameters
Type |
Name |
Description |
String |
name |
|
Declaration
public void Remove(object value)
Parameters
Type |
Name |
Description |
Object |
value |
|
Declaration
public void RemoveAt(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Declaration
public void RevertToPrefab()
Declaration
public static Metadata Root()
Returns
Declaration
public ObjectMetadata StaticObject(object object)
Parameters
Type |
Name |
Description |
Object |
object |
|
Returns
Declaration
public ObjectMetadata StaticObject(object object, Type definedType)
Parameters
Type |
Name |
Description |
Object |
object |
|
Type |
definedType |
|
Returns
Declaration
protected virtual string SubpathToString()
Returns
Declaration
public override string ToString()
Returns
Overrides
Declaration
Declaration
public void UnlinkChildren()
Declaration
public Metadata ValueMetadata(int index)
Parameters
Type |
Name |
Description |
Int32 |
index |
|
Returns
Events
Declaration
public event Action<object> valueChanged
Event Type
Declaration
public event Action<Type> valueTypeChanged
Event Type
Extension Methods