Beispiel #1
0
 private static ChatMapper.DialogEntry DialogEntryToCmp(DialogueSystem.DialogueEntry entry, bool includeCanvasRect)
 {
     ChatMapper.DialogEntry cmpEntry = new DialogEntry();
     cmpEntry.ID                  = entry.id;
     cmpEntry.IsRoot              = entry.isRoot || ((entry.id == 0) && string.Equals(entry.Title, "START"));
     cmpEntry.IsGroup             = entry.isGroup;
     cmpEntry.NodeColor           = string.IsNullOrEmpty(entry.nodeColor) ? "White" : entry.nodeColor;
     cmpEntry.DelaySimStatus      = entry.delaySimStatus;
     cmpEntry.FalseCondtionAction = GetValidFalseConditionAction(entry.falseConditionAction);
     cmpEntry.ConditionPriority   = entry.conditionPriority.ToString();
     cmpEntry.Fields              = FieldsToCmp(entry.fields);
     AddRequiredDialogEntryFields(cmpEntry.Fields);
     cmpEntry.Fields.ForEach(cmpField => { if (cmpField.Title.StartsWith("Dialogue Text"))
                                           {
                                               cmpField.Type = "Localization";
                                           }
                             });
     if (includeCanvasRect)
     {
         AddCanvasRectField(entry, cmpEntry);
     }
     cmpEntry.OutgoingLinks = LinksToCmp(entry.outgoingLinks);
     foreach (var link in cmpEntry.OutgoingLinks)
     {
         link.OriginConvoID  = entry.conversationID;
         link.OriginDialogID = entry.id;
     }
     cmpEntry.ConditionsString = entry.conditionsString;
     cmpEntry.UserScript       = entry.userScript;
     return(cmpEntry);
 }
Beispiel #2
0
        private static void AddCanvasRectField(DialogueSystem.DialogueEntry entry, ChatMapper.DialogEntry cmpEntry)
        {
            var canvasRectField = cmpEntry.Fields.Find(f => string.Equals(f.Title, "canvasRect"));

            if (canvasRectField == null)
            {
                canvasRectField       = new ChatMapper.Field();
                canvasRectField.Title = "canvasRect";
                cmpEntry.Fields.Add(canvasRectField);
            }
            canvasRectField.Value = string.Format("{0};{1}", entry.canvasRect.x, entry.canvasRect.y);
        }