Base class for SerializedTrees. Stored data in both serializable lists, and non-serializable linked-nodes for runtime use. Class does not require unity to be used, but does require manually calling the serialization/deserialization functions.
(Use the SerilizedTree descendant of this class for automatic serialization in Unity.)
|
| 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.
|
|
virtual T | DefaultNodeData () |
| This virtual function should be overridden by descendants, to provide a default value for data objects of type T.
|
|
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.
|
|