Class NodeBase<T>
Inheritance
Inherited Members
Namespace: EyeAuras.BehaviorTree.Nodes
Assembly: EyeAuras.BehaviorTree.dll
Syntax
public abstract class NodeBase<T> : AuraObjectBase<T>, INode<T>, IAuraObject<T>, INode, IAuraObject, IBindableReactiveObject, ICanSetContext, IHasContext, IBTNode, IHasErrors, IDisposable, INotifyPropertyChanged, IHasError, IHasErrorProvider, IBehaviorTreeSerializable, ICanSetName, IHasName, IEntityContainer, IHasId, IHasTypedId<string> where T : BTNodePropertiesBase, new()
Type Parameters
Name | Description |
---|---|
T |
Constructors
Name | Description |
---|---|
NodeBase() |
Properties
Name | Description |
---|---|
AutoSize | |
Blackboard | Contains a reference to behavior tree blackboard, which is shared amongst all tree nodes |
CanRemove | IsReady means that Node could be removed from parent sub-tree |
ChildIdStrategy | Gets the strategy used for assigning IDs to children within this container. The strategy determines whether children's IDs are dependent on the container's ID. |
Children | The children nodes of the current node. |
ChildrenAsList | Enabled children nodes of the current node, ordered by position. |
ChildrenById | Provides access to the children of this container, indexed by their unique IDs. The nature of these IDs (whether they are independent or linked to the container's ID) is determined by the ChildrenIdStrategy. |
ChildrenSource | |
Clock | |
DefaultName | |
Depth | |
EventLoggingService | |
FlattenChildren | All children of the current node and children of children as well |
FlattenChildrenById | All children of the current node and children of children as well |
IsBusy | Indicates whether the node is currently doing something |
IsEnabled | Indicates whether this node is disabled (considered for evaluation/execution) or not |
IsFrozen | Indicates whether this node is frozen or not. If frozen, it should not be removable/draggable by user |
IsFrozenState | Indicates whether this node is frozen or not, with annotation. If frozen, it should not be removable/draggable by user |
IsReady | IsReady means that Node is fully loaded - all children are ready, no proxies, etc |
IsRemoving | Indicates whether this node is toggled for removal in UI |
IsSelected | Indicates whether this node is currently selected in UI |
LastTickDuration | |
LastTickTimestamp | |
MaxInputs | |
MaxOutputs | |
Name | Any instance of a TreeNode can have a user-provided name. This identifier is meant to be human-readable and it doesn't need to be unique. |
NodeCacheFactory | |
NodeFactory | |
NodeId | |
NodeStorage | |
Parent | Contains a reference to a parent, for the root element will be null |
Position | |
Root | Contains a reference to root node |
Session | Contains a reference to behavior tree session, which is shared amongst all tree nodes. It contains information such a number of ticks, current status, etc |
ShortDescription | |
Status | The execution status of the node. Default is empty. |
Methods
Name | Description |
---|---|
AddChild<TNode>(IBTNodeProperties) | Creates new child given properties. Type of node is determined by provided properties |
CalculateTimeLeft(TimeSpan?, TimeSpan?) | |
CanBecomeParent() | This operation analyzes whether any node can become a parent of a different node. Checks for circular references, states, etc. |
CanBecomeParentOf(IBTNode) | This operation analyzes whether the node can become a parent of a different node. Checks for circular references, states, etc. |
Cancel() | This operation cancels current tick if it is progress. Does not do anything otherwise |
CloneProperties(bool) | Clones properties of this node and its children |
FormatToString(ToStringBuilder) | |
Freeze(string) | |
Remove() | Removes nodes from parent children collection. Still requires disposal if no longer needed |
Reset() | This abstract method allows nodes to reset their state to default (stop timers, clear counters, etc) |
ResetStatus() | Resets status of this node as well as all children nodes |
Tick(CancellationToken) | Executes the behavior of the node and updates its status. Never throws. |
TickInternal(CancellationToken) | This abstract method defines the main logic of the node and must be implemented in child classes. |
VisitLoad(T) | |
VisitSave(T) |