EyE.Unity.Collections Namespace Reference

Classes

class  AssetTree
 This version of the SerializableTree<T> class is generally easier for storing ScriptableObjectsobjects, because it does not need to be overridden to provide DefaultNodeData. However, this requires that the type T, being stored, be derived from ScriptableObject.
 
class  SerializableDictionary
 Provides a runtime System.Collections.Generic.Dictionary< Key,Value > Structure, that can be properly serialized in unity. This class is derived from, and has the functionality of a standard c# Dictionary<K,V> In order for the SerializableDictionary to show up in the editor with the correct controls: you will need to create two need classes and files in order to apply the appropriate attributes Create a non-generic class derived from SerializableDictionary. This class does not need a body, but does need to be tagged with [System.Serializable]. Create a property drawer class derived from SerializableDictionaryPropertyDrawerBase (stored in an Editor folder). This class does not need a body, but does need to be tagged with [[CustomPropertyDrawer(typeof(YourClassDerivedFromSerializableDictionary), true)]].
 
class  SerializableTree
 This is the Class version of SerializableTree that is recommended for use in Unity. It will automatically perform serialization callbacks for use in Unity's editor, by implementing the ISerializationCallbackReceiver interface. Note: you must define a class that derives from this one, using a specific T, AND mark it with the [System.Serializable] attribute in order for the class to serialize properly. (Unity does not support attributes on classes using generic types.) Also note: the type T, that is used, must be serializable.
 
class  STree
 This version of the SerializableTree<T> class is generally easier for storing objects, because it does not need to be overridden to provide DefaultNodeData. However, this requires that the type T, being stored, can be instantiated with a parameterless constructor. Example usage : MenuTree.cs, MenuTreeTester.cs, MenuTreeDrawer.cs