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