This version of the 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. Class does not require unity to be used, but does require manually calling the serialization/deserialization functions. (Use the STree class (descended from unity based SerilizedTree class) for automatic serialization in Unity.)
|
| override T | DefaultNodeData () |
| | Overridden function will use
|
| |
| | 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.
|
| |