示例#1
0
 public void VisitNodeDialogue(NodeDialogue nd)
 {
     _writer.WriteStartElement("NodeDialogue");
     if (nd.Character != null)
     {
         _writer.WriteAttributeString("Character", _projectService.Characters.IndexOf(nd.Character).ToString());
     }
     _writer.WriteString(nd.Text ?? string.Empty);
     _writer.WriteEndElement();
 }
 public void VisitNodeDialogue(NodeDialogue nd)
 {
     if (nd.Character == null)
     {
         _report.AddMessage(ProjectReportMessage.MessageSeverity.Error, "A dialogue node has no assigned character.", nd);
     }
     if (string.IsNullOrWhiteSpace(nd.Text))
     {
         _report.AddMessage(ProjectReportMessage.MessageSeverity.Warning, "A dialogue node has no assigned text.", nd);
     }
     if (Regex.IsMatch(nd.Text, @"[^\x00-\x7F]"))
     {
         _report.AddMessage(ProjectReportMessage.MessageSeverity.Error, "A dialogue node contains non-ASCII characters.", nd);
     }
     if (nd.Text?.Length > 300)
     {
         _report.AddMessage(ProjectReportMessage.MessageSeverity.Warning, "A dialogue node has more than 300 characters of text.", nd);
     }
     if (nd.Text?.Split('\n').Length > 3)
     {
         _report.AddMessage(ProjectReportMessage.MessageSeverity.Warning, "A dialogue node has more than 3 lines of text.", nd);
     }
 }
 public void VisitNodeDialogue(NodeDialogue nd)
 {
     UsedCharacters.Add(nd.Character);
 }