AiMalgam Core 1.1.0
API documentation for the generic Unity3D AI System
Public Member Functions | Public Attributes | Properties | List of all members
NikosAssets.AiMalgam.Settings.Deciders.AiMalgamSubGraphDecider Class Reference

A specific AiMalgamBaseDecider that traverses through the AiMalgamNodeGraph.rootDecider of another AiMalgamNodeGraph More...

Public Member Functions

override AiMalgamDecision RootTraverse (AiMalgamEntity aiMalgamEntity, AiMalgamDecision decision)
 Go to the root IAiMalgamDecider of the AiMalgamNodeGraph from the subGraph and traverse through valid child IAiMalgamDeciders until valid AiMalgamBaseSettings are found to form the AiMalgamDecision More...
 
abstract AiMalgamDecision RootTraverse (AiMalgamEntity aiMalgamEntity, AiMalgamDecision decision)
 Traverse through valid child IAiMalgamDeciders until valid AiMalgamBaseSettings are found to form the AiMalgamDecision More...
 
- Public Member Functions inherited from NikosAssets.AiMalgam.Settings.AiMalgamNode
override void OnOpen ()
 Called if the AiMalgamNodeGraph hosting this Node is opened
 
virtual void NotifyOnNodeChanged ()
 A helper method to notify node value changes and emit the OnNodeChanged event
 
override object GetValue (NodePort port)
 Used in the AiMalgamNodeGraph. More...
 
virtual void ResetMarkingInGraph (AiMalgamEntity requester, bool forceRepaint=false)
 EDITOR ONLY EFFECT. Reset the node's visuals in the AiMalgamNodeGraph More...
 
virtual void MarkInGraph (AiMalgamEntity requester, bool acceptedOrFailed, bool forceRepaint=false)
 EDITOR ONLY EFFECT. Set the node's visuals in the AiMalgamNodeGraph (accepted or failed) More...
 
virtual void MarkInGraph (AiMalgamEntity requester, Color markColor, bool forceRepaint=false)
 EDITOR ONLY EFFECT. Set the node's visuals in the AiMalgamNodeGraph More...
 
AiMalgamDecision RootTraverse (AiMalgamEntity aiMalgamEntity, AiMalgamDecision decision)
 Traverse through valid child IAiMalgamDeciders until valid AiMalgamBaseSettings are found to form the AiMalgamDecision More...
 

Public Attributes

AiMalgamNodeGraph subGraph
 The AiMalgamNodeGraph that contains the AiMalgamNodeGraph.rootDecider we want to traverse
 
- Public Attributes inherited from NikosAssets.AiMalgam.Settings.Deciders.AiMalgamDeciderWrapper
AiMalgamDeciderWrapper output
 Used in the AiMalgamNodeGraph. Do not temper with it!
 
AiMalgamBaseCondition condition = default
 The AiMalgamBaseCondition that must validate in order for this decider to traverse further
 
bool removeAllActiveStatesAndActions = false
 If this decider validates, force the requesting AiMalgamEntity to dispose of any AiMalgamState and running AiMalgamBaseAction<BlackboardType>
 
AiMalgamStatesListWrapper removeSpecificActiveStatesAndActions = new AiMalgamStatesListWrapper()
 Removes specific AiMalgamStates and their represented AiMalgamBaseAction<BlackboardType>s on the requesting AiMalgamEntity if this decider validates
 

Properties

override bool IsLeaf [get]
 This decider is never a leaf
 
- Properties inherited from NikosAssets.AiMalgam.Settings.Deciders.AiMalgamDeciderWrapper
abstract bool IsLeaf [get]
 Does this decider represent a branch-leaf?
 

Additional Inherited Members

- Protected Member Functions inherited from NikosAssets.AiMalgam.Settings.Deciders.AiMalgamDeciderWrapper
virtual void HandleRunningStates (AiMalgamEntity aiMalgamEntity, bool success)
 Handle the set removeAllActiveStatesAndActions and removeSpecificActiveStatesAndActions fields here More...
 
- Protected Member Functions inherited from NikosAssets.AiMalgam.Settings.AiMalgamNode
override void Reset ()
 
override void OnEnable ()
 
override void Awake ()
 
override void OnValidate ()
 
- Events inherited from NikosAssets.AiMalgam.Settings.AiMalgamNode
virtual Action< AiMalgamNodeOnNodeChanged
 Emitted, if the node values where changed (OnValidate())
 

Detailed Description

A specific AiMalgamBaseDecider that traverses through the AiMalgamNodeGraph.rootDecider of another AiMalgamNodeGraph

Member Function Documentation

◆ RootTraverse()

override AiMalgamDecision NikosAssets.AiMalgam.Settings.Deciders.AiMalgamSubGraphDecider.RootTraverse ( AiMalgamEntity  aiMalgamEntity,
AiMalgamDecision  decision 
)
virtual

Go to the root IAiMalgamDecider of the AiMalgamNodeGraph from the subGraph and traverse through valid child IAiMalgamDeciders until valid AiMalgamBaseSettings are found to form the AiMalgamDecision

Parameters
aiMalgamEntityThe requesting AiMalgamEntity to apply the resulting (valid) AiMalgamBaseSettings on
decisionThe previous (or initial) AiMalgamDecision to expand
Returns
The final AiMalgamDecision of this (root or sub) branch

Implements NikosAssets.AiMalgam.Settings.Deciders.AiMalgamDeciderWrapper.