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(); }