EasyTalk API
Loading...
Searching...
No Matches
EasyTalk.Nodes.Logic.ValueSelectorNode Class Reference

A node for selecting and outputting a value based on a selected index. More...

Inherits EasyTalk.Nodes.Core.ListNode, EasyTalk.Nodes.Core.DialogueFlowNode, and EasyTalk.Nodes.Core.FunctionalNode.

Public Member Functions

 ValueSelectorNode ()
 Creates a new ValueSelectorNode.
 
bool DetermineAndStoreValue (NodeHandler nodeHandler, Dictionary< int, object > nodeValues, GameObject convoOwner=null)
 Determines the value of this node and stores it in the provided Dictionary of node and connection IDs to values.
Parameters
nodeHandlerThe node handler being used.
nodeValuesA mapping between node or connection IDs and the values attributed to them.
convoOwnerThe GameObject which on which the dialogue logic is currently running.
Returns
Returns true if the value was determined and stored successfully. IF the value could not be determined (perhaps due to needing to await feedback or other processing), this method returns false.

 
void FindIndex (Dictionary< int, object > nodeValues)
 Determines the index value to use when selecting a value to output.
 
List< int > GetDependencyOutputIDs ()
 Returns a List of IDs for output connections that this node is dependent on in order to evaluate itself and determine the value to store.
Returns
The List of output connections that this node is dependent on.

 
NodeConnection GetFlowInput ()
 Returns the dialogue flow input for the node.
Returns
The dialogue flow input for the node.

 
NodeConnection GetFlowOutput ()
 Returns the dialogue flow output for the node.
Returns
The dialogue flow output for the node.

 
bool HasDependencies ()
 Returns whether the node is dependent on values coming into input connections.
Returns
Whether the node has dependencies.

 
- Public Member Functions inherited from EasyTalk.Nodes.Core.ListNode
 ListNode ()
 Creates a new ListNode.
 
virtual void AddItem (ListItem item)
 Adds the specified item to this node's List of items.
 
void RemoveItem (ListItem item)
 Removes the specified item from this node's List of items.
 
void RemoveItem (int index)
 Removes the item at the specified index from this node.
 
void RemoveAllItems ()
 Removes all items from the node.
 
- Public Member Functions inherited from EasyTalk.Nodes.Core.Node
void AddInput (NodeConnection input)
 Adds the provided input connection to the node's inputs.
 
void AddOutput (NodeConnection output)
 Adds the provided output connection to the node's outputs.
 
NodeConnection AddInput (InputOutputType connectionType)
 Adds a new input connection of the specified type to the node's inputs.
 
NodeConnection AddOutput (InputOutputType connectionType)
 Adds a new output connection of the specified type to the node's outputs.
 
NodeConnection FindOutputOfType (InputOutputType outputType)
 Finds the first output which matches the specified output type.
 
NodeConnection FindInputOfType (InputOutputType inputType)
 Finds the first input which matches the specified input type.
 
bool HasConnectedInputs ()
 Returns true if this node has inputs which are connected to other node outputs.
 
bool HasConnectedOutputs ()
 Returns true if this node has outputs which are connected to other node inputs.
 
List< int > FindDependencyOutputIDs ()
 Finds and returns a List of all output IDs which are connected to this node's value (non-dialogue-flow) inputs.
 
string GetJSON ()
 Returns a JSON string representation of the node.
 

Properties

string Index [get, set]
 Gets or sets the index of the value to choose.
 
string ValueOutputType [get, set]
 Gets or sets the value output type of the node.
 
- Properties inherited from EasyTalk.Nodes.Core.ListNode
List< ListItemItems [get, set]
 Gets or sets the List of items in this node.
 
- Properties inherited from EasyTalk.Nodes.Core.Node
int ID [get, set]
 Gets or sets the node ID.
 
string NodeTypeString [get, set]
 Gets or sets the node type string.
 
float XPosition [get, set]
 Gets or sets the X position of the node.
 
float YPosition [get, set]
 Gets or sets the Y position of the node.
 
string Name [get, set]
 Gets or sets the name of the node.
 
float Width [get, set]
 Gets or sets the width of the node.
 
float Height [get, set]
 Gets or sets the height of the node.
 
NodeType NodeType [get, set]
 Gets or sets the node type.
 
List< NodeConnectionInputs [get, set]
 Gets or sets the List of input connections of the node.
 
List< NodeConnectionOutputs [get, set]
 Gets or sets the List of output connections of the node.
 

Private Attributes

ValueOutputType valueOutputType
 The type of value to output.
 
string indexValue = "0"
 The string value of the index.
 
int index = 0
 The index of the value to output.
 

Additional Inherited Members

- Static Public Member Functions inherited from EasyTalk.Nodes.Core.Node
static Node Deserialize (string json)
 Deserializes a Node from the specified JSON string.
 
- Protected Member Functions inherited from EasyTalk.Nodes.Core.Node
List< NodeConnectionFindFlowInputs ()
 Finds and returns a List of all inputs which are dialogue flow inputs.
 
List< NodeConnectionFindFlowOutputs ()
 Finds and returns a List of all outputs which are dialogue flow outputs.
 
- Protected Attributes inherited from EasyTalk.Nodes.Core.ListNode
List< ListItemitems = new List<ListItem>()
 The items in the node.
 
- Protected Attributes inherited from EasyTalk.Nodes.Core.Node
int nodeId = NodeUtils.NextID()
 The ID of the node.
 
string name
 The name of the node.
 
NodeType nodeType
 The type of the node.
 
List< NodeConnectioninputs = new List<NodeConnection>()
 A List of input connections of the node.
 
List< NodeConnectionoutputs = new List<NodeConnection>()
 A List of output connections of the node.
 

Detailed Description

A node for selecting and outputting a value based on a selected index.

Constructor & Destructor Documentation

◆ ValueSelectorNode()

EasyTalk.Nodes.Logic.ValueSelectorNode.ValueSelectorNode ( )

Creates a new ValueSelectorNode.

Member Function Documentation

◆ DetermineAndStoreValue()

bool EasyTalk.Nodes.Logic.ValueSelectorNode.DetermineAndStoreValue ( NodeHandler nodeHandler,
Dictionary< int, object > nodeValues,
GameObject convoOwner = null )

Determines the value of this node and stores it in the provided Dictionary of node and connection IDs to values.

Parameters
nodeHandlerThe node handler being used.
nodeValuesA mapping between node or connection IDs and the values attributed to them.
convoOwnerThe GameObject which on which the dialogue logic is currently running.
Returns
Returns true if the value was determined and stored successfully. IF the value could not be determined (perhaps due to needing to await feedback or other processing), this method returns false.

Implements EasyTalk.Nodes.Core.FunctionalNode.

◆ FindIndex()

void EasyTalk.Nodes.Logic.ValueSelectorNode.FindIndex ( Dictionary< int, object > nodeValues)

Determines the index value to use when selecting a value to output.

Parameters
nodeValuesA collection of node and connection IDs to their corresponding values.

◆ GetDependencyOutputIDs()

List< int > EasyTalk.Nodes.Logic.ValueSelectorNode.GetDependencyOutputIDs ( )

Returns a List of IDs for output connections that this node is dependent on in order to evaluate itself and determine the value to store.

Returns
The List of output connections that this node is dependent on.

Implements EasyTalk.Nodes.Core.FunctionalNode.

◆ GetFlowInput()

NodeConnection EasyTalk.Nodes.Logic.ValueSelectorNode.GetFlowInput ( )

Returns the dialogue flow input for the node.

Returns
The dialogue flow input for the node.

Implements EasyTalk.Nodes.Core.DialogueFlowNode.

◆ GetFlowOutput()

NodeConnection EasyTalk.Nodes.Logic.ValueSelectorNode.GetFlowOutput ( )

Returns the dialogue flow output for the node.

Returns
The dialogue flow output for the node.

Implements EasyTalk.Nodes.Core.DialogueFlowNode.

◆ HasDependencies()

bool EasyTalk.Nodes.Logic.ValueSelectorNode.HasDependencies ( )

Returns whether the node is dependent on values coming into input connections.

Returns
Whether the node has dependencies.

Implements EasyTalk.Nodes.Core.FunctionalNode.

Member Data Documentation

◆ index

int EasyTalk.Nodes.Logic.ValueSelectorNode.index = 0
private

The index of the value to output.

◆ indexValue

string EasyTalk.Nodes.Logic.ValueSelectorNode.indexValue = "0"
private

The string value of the index.

◆ valueOutputType

ValueOutputType EasyTalk.Nodes.Logic.ValueSelectorNode.valueOutputType
private

The type of value to output.

Property Documentation

◆ Index

string EasyTalk.Nodes.Logic.ValueSelectorNode.Index
getset

Gets or sets the index of the value to choose.

◆ ValueOutputType

string EasyTalk.Nodes.Logic.ValueSelectorNode.ValueOutputType
getset

Gets or sets the value output type of the node.