The abstract base class of genes representing Composite nodes, which contain other nodes. More...
#include <BTCompositeNodeGene.h>
Public Member Functions | |
void | AddChild (UBTChildContainerGene *child) |
int32 | RemoveChild (UBTChildContainerGene *child) |
int32 | InsertChild (UBTChildContainerGene *child, int32 idx) |
int | GetNumChildren () const |
UBTChildContainerGene * | GetChild (int idx) const |
int32 | RemoveService (UBTServiceGene *service) |
int32 | InsertService (UBTServiceGene *service, int32 idx) |
int32 | AddService (UBTServiceGene *service) |
int | GetNumServices () const |
UBTServiceGene * | GetService (int idx) const |
virtual UBTNodeGene * | Duplicate (UObject *outer) override |
virtual void | SetServiceInjector (UServiceInjector *serviceInjector) override |
virtual void | SetServiceInjector (UServiceInjector *serviceInjector) |
Public Attributes | |
virtual UBTCompositeNode * | BuildPhenotype (UObject *outer) PURE_VIRTUAL(UBTCompositeNodeGene |
virtual UBTCompositeNodeGene * | DuplicateComposite (UObject *outer) PURE_VIRTUAL(UBTCompositeNodeGene |
Public Attributes inherited from UBTNodeGene | |
virtual FString | ToString () PURE_VIRTUAL(UBTNodeGene |
virtual UBTNodeGene * | Duplicate (UObject *outer) PURE_VIRTUAL(UBTNodeGene |
Protected Attributes | |
TArray< UBTChildContainerGene * > | children |
TArray< UBTServiceGene * > | services |
Protected Attributes inherited from UBTNodeGene | |
UServiceInjector * | ServiceInjector |
The abstract base class of genes representing Composite nodes, which contain other nodes.
The Composite node has one or more children, which are represented as UBTChildContainerGene objects. Each of these objects contains either another composite node, which has additional children, or a task node, which is a leaf and performs an action. The composite node's 'type' defines how those children are executed.
There is currently only one subclass:
BTMappedTaskGene: These are objects which map to templates for creating an Unreal Engine task node. Defaults are automatically set, and the only set up required is to add default nodes to the "NodeMapper" in the editor, or make sure the nodes you want are in there. We recommend using only mapped nodes until you are comfortable with the tool.
NOTE: There is no 'generated' version of a composite node because they do not contain any internal variables which can be mutated, rather they just provide a high level structure for the execution of their children.
|
overridevirtual |
Reimplemented from UBTNodeGene.