| 
| override T  | DefaultNodeData () | 
|   | Overridden function will use  
  | 
|   | 
| void  | OnAfterDeserialize () | 
|   | This function is required by the ISerializationCallbackReceiver Interface. Called automatically via the interface, it will deserialize the stored data into the runtime structure.  
  | 
|   | 
| void  | OnBeforeSerialize () | 
|   | This function is required by the ISerializationCallbackReceiver Interface. Called automatically via the interface, it will serialize the runtime data for storage.  
  | 
|   | 
|   | SerializableTreeBase () | 
|   | Constructor. Creates a new instance with the root Node set to null.  
  | 
|   | 
| bool  | AddChild (Node parent, T data) | 
|   | called by both the UI and runtime users of the tree. This function will instantiate a new node, and add the provided data to it.  
 The new node will be added as a child of the provided parent node, making it part of the run-time tree. If null is provided for the parent, and a root node does not already exist, it will be stored as the root node. If a root node exists, specifying null for the parent will fail, and return false.  
  | 
|   | 
| bool  | AddChild (Node parent, T data, out Node newNode) | 
|   | called by both the UI and runtime users of the tree. This function will instantiate a new node, and add the provided data to it.  
 The new node will be added as a child of the provided parent node, making it part of the run-time tree. If null is provided for the parent, and a root node does not already exist, it will be stored as the root node. If a root node exists, specifying null for the parent will fail, and return false.  
  | 
|   | 
| bool  | AddChildren (Node parent, T[] data) | 
|   | Convenience function used to store an array of data as new nodes. The new nodes will be added as children of the provided parent node.  
  | 
|   | 
| bool  | CopyNode (Node sourceNode, Node destinationParent) | 
|   | recursive function used to copy the data contained in the provided sourceNode, and its descendants, as new Nodes that are children of the provided destinationParent.  
  | 
|   | 
| void  | Deserialize () | 
|   | this function is used to read the two serialized lists; serializedNodes and dataList, and generate a runtime tree of nodes, based on the data therein.  
  | 
|   | 
| virtual IEnumerator< T >  | GetEnumerator () | 
|   | default generic enumerator  
  | 
|   | 
| bool  | RemoveNode (Node nodeToRemove) | 
|   | Remove this node from tree, by removing it from it's parent's children list. Does not destroy the Node, nor the Data it references.  
  | 
|   | 
| void  | ReSerialize () | 
|   | This function will take the runtime tree nodes, and their data, and store them into the two serialized lists; serializedNodes and dataList. These two lists, being serializable, can then be stored and eventually DEserialzied, back into the runtime tree.  
  | 
|   | 
| override string  | ToString () | 
|   | general ToString override- useful for debugging  
  | 
|   | 
| int  | TotalLeafCount () | 
|   | Counts the total number of leaves (childless-nodes) it the entire tree.  
  | 
|   | 
| int  | TotalNodeCount () | 
|   | Counts the total number of nodes it the entire tree.  
  | 
|   |