|
Brunot
|
Given a range of GameObjects, generates a range of all of those GameObjects children. More...
#include <PathDir.h>
Public Member Functions | |
| ~PathDir () override=default | |
| auto | begin () -> path_iterator override |
| auto | end () -> path_iterator override |
| auto | begin (path_iterator begin, path_iterator end) -> path_iterator override |
| Traverses the linked list of PathNode s to calculate the beginning of the range of GameObjects. | |
| auto | end (path_iterator begin, path_iterator end) -> path_iterator override |
| Traverses the linked list of PathNode s to find the proper end to the range of GameObjects. | |
| auto | getNext (GameObject *ptr) -> GameObject *override |
| Used by PathNode::path_iterator to increment. | |
| Public Member Functions inherited from gobj::PathNode | |
| virtual | ~PathNode ()=default |
| auto | appendPathNode (std::shared_ptr< PathNode > nextPath) -> void |
| adds a path to the end of the linked list of paths | |
Static Public Member Functions | |
| static auto | checkForPtr (const GameObject *ptr, const std::shared_ptr< std::vector< GameObject * > > &siblings) -> GameObject * |
| helper function to find next sibling of a GameObject | |
| Static Public Member Functions inherited from gobj::PathNode | |
| static auto | getChildren (const GameObject &gobj) -> std::shared_ptr< std::vector< GameObject * > > |
| helper function to get children of GameObjects as a vector of pointers | |
Additional Inherited Members | |
| Public Attributes inherited from gobj::PathNode | |
| friend | GameObject |
| Protected Member Functions inherited from gobj::PathNode | |
| auto | getBegin () const -> path_iterator |
| function to get the cached beginning of our parent ( or left ) range | |
| auto | setBegin (const path_iterator &begin) -> void |
| function to set the cached beginning of our parent ( or left ) range | |
| auto | getEnd () const -> path_iterator |
| function to get the cached beginning of our parent ( or left ) range | |
| auto | setEnd (const path_iterator &end) -> void |
| function to set the cached end of our parent ( or left ) range | |
| Static Protected Member Functions inherited from gobj::PathNode | |
| static auto | isNamed (const GameObject &obj, const std::string &name) -> bool |
| helper function that checks nickname, and then typename if nickname doesn't match used by PathName | |
| Protected Attributes inherited from gobj::PathNode | |
| std::shared_ptr< PathNode > | next |
| next Path Node in linked list. Represents the next (right) range | |
Given a range of GameObjects, generates a range of all of those GameObjects children.
|
overridedefault |
|
overridevirtual |
Implements gobj::PathNode.
|
overridevirtual |
Traverses the linked list of PathNode s to calculate the beginning of the range of GameObjects.
One of the main functions for calculating a path. Takes the left range, and applies whatever modifier the specific PathNode represents (filter by name, filter arbitrarily, get parent, get children, etc.) then gives it's range to the right (next) range, which continues the sequence. Once the end of the linked list is reached, an iterator to the beginning of the final range is returned.
| begin | the beginning of the parents ( or left ) range |
| end | sentinel iterator (past the end) of the parents ( left ) range |
Implements gobj::PathNode.
|
static |
helper function to find next sibling of a GameObject
| ptr | GameObject to get next sibling of |
| siblings | shared pointer to vector of GameObject pointers that are siblings of ptr |
|
overridevirtual |
Implements gobj::PathNode.
|
overridevirtual |
Traverses the linked list of PathNode s to find the proper end to the range of GameObjects.
| begin | beginning of parents ( or left ) range. Doesn't need to be the actual beginning, because end doesn't depend on beginning at all |
| end | end of parent ( or left ) range. |
Implements gobj::PathNode.
|
overridevirtual |
Used by PathNode::path_iterator to increment.
Takes in a pointer to a GameObject, and returns the pointer to the next GameObject in the range.
| ptr | to a GameObject in the range of the PathNode |
Implements gobj::PathNode.