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

A node which performs a mathematical operation and sends the result to a numeric value output. More...

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

Public Member Functions

 MathNode ()
 Creates a new MathNode.
 
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.

 
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.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 MathOperationString [get, set]
 Gets or sets the math operation used by the node (from a string equivalent to a MathOperation toString() value).
 
MathOperation MathOperation [get, set]
 Gets or sets the math operation used by the node.
 
string ValueA [get, set]
 Gets or sets the first value to use in the math operation.
 
string ValueB [get, set]
 Gets or sets the second value to use in the math operation.
 
- 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

MathOperation operation
 The mathematical operation to perform.
 
string valueA
 The first value to use in the math operation.
 
string valueB
 The second value to use in the math operation.
 

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.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 which performs a mathematical operation and sends the result to a numeric value output.

Constructor & Destructor Documentation

◆ MathNode()

EasyTalk.Nodes.Logic.MathNode.MathNode ( )

Creates a new MathNode.

Member Function Documentation

◆ DetermineAndStoreValue()

bool EasyTalk.Nodes.Logic.MathNode.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.

◆ GetDependencyOutputIDs()

List< int > EasyTalk.Nodes.Logic.MathNode.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.MathNode.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.MathNode.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.MathNode.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

◆ operation

MathOperation EasyTalk.Nodes.Logic.MathNode.operation
private

The mathematical operation to perform.

◆ valueA

string EasyTalk.Nodes.Logic.MathNode.valueA
private

The first value to use in the math operation.

◆ valueB

string EasyTalk.Nodes.Logic.MathNode.valueB
private

The second value to use in the math operation.

Property Documentation

◆ MathOperation

MathOperation EasyTalk.Nodes.Logic.MathNode.MathOperation
getset

Gets or sets the math operation used by the node.

◆ MathOperationString

string EasyTalk.Nodes.Logic.MathNode.MathOperationString
getset

Gets or sets the math operation used by the node (from a string equivalent to a MathOperation toString() value).

◆ ValueA

string EasyTalk.Nodes.Logic.MathNode.ValueA
getset

Gets or sets the first value to use in the math operation.

◆ ValueB

string EasyTalk.Nodes.Logic.MathNode.ValueB
getset

Gets or sets the second value to use in the math operation.