Heathen Systems Core is the foundation of Heathen Engineering’s coded assets for the Unity 3D game engine. While the asset has been developed with Unity 2017.3 and later in mind the code should work with Unity 5.5 and later with little or no modification. Full source code is provided with the asset from the Unity Asset Store; Unity Asset Store is the only authorized distributor of Heathen Systems or any of its related components. Standard Unity Asset Store licensing conditions apply Heathen Systems and its related components, additional provisions will be considered on a case by case bases.
Heathen Engineering Limited provides full support for Heathen Systems and related components as described in this document, on the Unity Asset Store page, the Heathen Engineering corporate site and limited to the versions of the Unity 3D game engine the asset package has been published under unless otherwise noted. You can contact support via Support@HeathenEngineering.com or the Heathen Engineering Support desk (visit HeathenEngineering.com for details).
Heathen Systems UIX Tree View framework overview.
Heathen Systems UIX Tree View Collection manages a hierarchal arrangement of Tree View Nodes and provides the basic methods for Move Up, Move Down, Promote and Demote common to tree structures making it easy to manipulate the location and parentage of a node.
Tree View Collection implements the ICollection interface as does each Tree View Node allowing programmers to work against the collection as they would any .NET collection including foreach, Add, Clear, Contains, etc.
A Heathen Tree View is an expression of the Game Object hierarchy and has no concept of type or value of the data it is presenting and does not assume methods of input.
Tree View Node
Heathen Systems UIX Tree View Node manages the relationship with the host tree, the parent node if any and the child nodes if any and provides the basic methods for Move Up, Move Down, Promote and Demote common to tree structures.
As with Tree View Collection the Tree View node implements the ICollection interface allowing programmers to work against the node as they would any .NET collection.
Tree View Nodes are expected to have 2 child game objects representing the ‘Content’ and ‘Collection’.
Content is meant to house labels, buttons and other UI elements used for displaying the nodes name.
Collection hoses the child Tree View Nodes. The Is Expanded value of the Tree View Node simply enables or disables the Collection Game Object as required to effectively collapse the child list.
Tree View Node includes Unity Events to report Expand and Collapse events making it possible to trigger processes such as changing display content or validating data.
Creating a Tree View
A new Tree View can be created from the Game Object or Create menus via UIX > Composite Controls > Tree View. The Tree View and Tree View Node inspectors provide buttons to quickly add new nodes and change parentage of nodes.
An inactive GameObject named ‘Template’ by default houses the Tree Node Prototype used by the Tree View Collection when adding new nodes. This prototype can be edited to suite your graphical style.