public void Evaluate(BaseNode currentNode)
            {
                m_currentNode = currentNode;
                m_nodeProcessor.Update(currentNode);

                // evaluate all the different node types
                if (EvaluateAudioNode())
                {
                    return;
                }
                else if (EvaluateBackgroundNode())
                {
                    return;
                }
                else if (EvaluateBranchNode())
                {
                    return;
                }
                else if (EvaluateCharacterNode())
                {
                    return;
                }
                else if (EvaluateDialogueNode())
                {
                    return;
                }
                else if (EvaluateUtilityNode())
                {
                    return;
                }
                else if (EvaluateVariableNode())
                {
                    return;
                }
                EvaluateTransitionNodes();
            }