Beispiel #1
0
 /// <summary>
 /// Converts dialogue fragments, adding them a conversation.
 /// </summary>
 /// <param name='conversation'>
 /// Conversation.
 /// </param>
 /// <param name='dialogueNode'>
 /// Dialogue node.
 /// </param>
 private void ConvertDialogueFragments(Conversation conversation, ArticyData.Node dialogueNode)
 {
     entryID = 0;
     foreach (ArticyData.Node childNode in dialogueNode.nodes)
     {
         if (childNode.type == ArticyData.NodeType.DialogueFragment)
         {
             ConvertDialogueFragment(conversation, LookupDialogueFragment(childNode.id));
         }
         else if (childNode.type == ArticyData.NodeType.Hub)
         {
             ConvertHub(conversation, LookupHub(childNode.id));
         }
         else if (childNode.type == ArticyData.NodeType.Jump)
         {
             ConvertJump(conversation, LookupJump(childNode.id));
         }
         else if (childNode.type == ArticyData.NodeType.Condition)
         {
             ConvertCondition(conversation, LookupCondition(childNode.id));
         }
         else if (childNode.type == ArticyData.NodeType.Instruction)
         {
             ConvertInstruction(conversation, LookupInstruction(childNode.id));
         }
     }
 }
Beispiel #2
0
 /// <summary>
 /// Converts connections into a conversation's link tree.
 /// </summary>
 /// <param name='conversation'>
 /// Conversation.
 /// </param>
 /// <param name='dialogueNode'>
 /// Dialogue node.
 /// </param>
 private void ConvertConnections(Conversation conversation, ArticyData.Node dialogueNode)
 {
     foreach (ArticyData.Node childNode in dialogueNode.nodes)
     {
         if (childNode.type == ArticyData.NodeType.Connection)
         {
             ConvertConnection(conversation, LookupConnection(childNode.id));
         }
     }
 }
Beispiel #3
0
 /// <summary>
 /// Processes a node in the hierarchy. If it's a dialogue, convert it (and its child nodes)
 /// into a Dialogue System conversation. Otherwise keep processing the children.
 /// </summary>
 /// <param name='node'>
 /// Node to process.
 /// </param>
 private void ProcessNode(ArticyData.Node node)
 {
     foreach (ArticyData.Node childNode in node.nodes)
     {
         if (childNode.type == ArticyData.NodeType.Dialogue)
         {
             ConvertDialogue(childNode);
         }
         else
         {
             ProcessNode(childNode);
         }
     }
 }
Beispiel #4
0
 /// <summary>
 /// Converts a dialogue hierarchy node into a conversation.
 /// </summary>
 /// <param name='dialogueNode'>
 /// Dialogue node.
 /// </param>
 private void ConvertDialogue(ArticyData.Node dialogueNode)
 {
     if (prefs.ConversionSettings.GetConversionSetting(dialogueNode.id).Include)
     {
         if (articyData.dialogues.ContainsKey(dialogueNode.id))
         {
             Conversation conversation = CreateNewConversation(articyData.dialogues[dialogueNode.id]);
             if (conversation != null)
             {
                 ConvertDialogueNodes(conversation, dialogueNode);
             }
         }
         else
         {
             Debug.LogWarning(string.Format("{0}: Can't find dialogue ID {1}", DialogueDebug.Prefix, dialogueNode.id));
         }
     }
 }
Beispiel #5
0
 /// <summary>
 /// Converts dialogue fragment and connection (hub, jump) nodes, and adds them to a
 /// Dialogue System conversation. First converts all dialogue fragments so the conversation
 /// has a master list of dialogue entries. Then converts all connections to hook up those
 /// entries.
 /// </summary>
 /// <param name='conversation'>
 /// Conversation.
 /// </param>
 /// <param name='dialogueNode'>
 /// Dialogue node.
 /// </param>
 private void ConvertDialogueNodes(Conversation conversation, ArticyData.Node dialogueNode)
 {
     ConvertDialogueFragments(conversation, dialogueNode);
     ConvertConnections(conversation, dialogueNode);
 }