Ember
Loading...
Searching...
No Matches
EmberCore::DefaultTreeFactory Class Reference

Factory implementation for the default Node/BehaviorTree implementation. More...

#include <DefaultTreeFactory.h>

Inheritance diagram for EmberCore::DefaultTreeFactory:
EmberCore::ITreeFactory

Public Member Functions

 DefaultTreeFactory ()=default
virtual ~DefaultTreeFactory ()=default
std::shared_ptr< ITreeStructureCreateTree (const EmberCore::String &name="New Tree") override
 Create a new empty behavior tree.
std::shared_ptr< ITreeNodeCreateNode (const EmberCore::String &name, ITreeNode::NodeType type) override
 Create a new node.
std::shared_ptr< ITreeStructureCreateSampleTree () override
 Create a sample behavior tree for testing.
EmberCore::String GetFactoryName () const override
 Get the name of this factory implementation.
EmberCore::String GetFactoryVersion () const override
 Get the version of this factory implementation.
bool SupportsFeature (const EmberCore::String &feature_name) const override
 Check if this factory supports a specific feature.
Public Member Functions inherited from EmberCore::ITreeFactory
virtual ~ITreeFactory ()=default

Private Member Functions

Node::Type ConvertNodeType (ITreeNode::NodeType type) const
ITreeNode::NodeType ConvertNodeType (Node::Type type) const

Detailed Description

Factory implementation for the default Node/BehaviorTree implementation.

This factory creates trees and nodes using the default implementation and wraps them with adapters to work with the abstract interfaces.

Definition at line 17 of file DefaultTreeFactory.h.

Constructor & Destructor Documentation

◆ DefaultTreeFactory()

EmberCore::DefaultTreeFactory::DefaultTreeFactory ( )
default

◆ ~DefaultTreeFactory()

virtual EmberCore::DefaultTreeFactory::~DefaultTreeFactory ( )
virtualdefault

Member Function Documentation

◆ ConvertNodeType() [1/2]

Node::Type EmberCore::DefaultTreeFactory::ConvertNodeType ( ITreeNode::NodeType type) const
private

Definition at line 69 of file DefaultTreeFactory.cpp.

◆ ConvertNodeType() [2/2]

ITreeNode::NodeType EmberCore::DefaultTreeFactory::ConvertNodeType ( Node::Type type) const
private

Definition at line 84 of file DefaultTreeFactory.cpp.

◆ CreateNode()

std::shared_ptr< ITreeNode > EmberCore::DefaultTreeFactory::CreateNode ( const EmberCore::String & name,
ITreeNode::NodeType type )
overridevirtual

Create a new node.

Parameters
nameName of the node
typeType of the node
Returns
Shared pointer to the tree node interface

Implements EmberCore::ITreeFactory.

Definition at line 20 of file DefaultTreeFactory.cpp.

◆ CreateSampleTree()

std::shared_ptr< ITreeStructure > EmberCore::DefaultTreeFactory::CreateSampleTree ( )
overridevirtual

Create a sample behavior tree for testing.

Returns
Shared pointer to the tree structure interface

Implements EmberCore::ITreeFactory.

Definition at line 54 of file DefaultTreeFactory.cpp.

◆ CreateTree()

std::shared_ptr< ITreeStructure > EmberCore::DefaultTreeFactory::CreateTree ( const EmberCore::String & name = "New Tree")
overridevirtual

Create a new empty behavior tree.

Parameters
nameName of the tree
Returns
Shared pointer to the tree structure interface

Implements EmberCore::ITreeFactory.

Definition at line 8 of file DefaultTreeFactory.cpp.

◆ GetFactoryName()

EmberCore::String EmberCore::DefaultTreeFactory::GetFactoryName ( ) const
inlineoverridevirtual

Get the name of this factory implementation.

Returns
String identifying the implementation

Implements EmberCore::ITreeFactory.

Definition at line 27 of file DefaultTreeFactory.h.

◆ GetFactoryVersion()

EmberCore::String EmberCore::DefaultTreeFactory::GetFactoryVersion ( ) const
inlineoverridevirtual

Get the version of this factory implementation.

Returns
Version string

Implements EmberCore::ITreeFactory.

Definition at line 28 of file DefaultTreeFactory.h.

◆ SupportsFeature()

bool EmberCore::DefaultTreeFactory::SupportsFeature ( const EmberCore::String & feature_name) const
inlineoverridevirtual

Check if this factory supports a specific feature.

Parameters
feature_nameName of the feature to check
Returns
True if the feature is supported

Implements EmberCore::ITreeFactory.

Definition at line 30 of file DefaultTreeFactory.h.


The documentation for this class was generated from the following files: