static void Init() { // Get existing open window or if none, make a new one: ConversationEditor window = (ConversationEditor)GetWindow(typeof(ConversationEditor)); window.Show(); window.minSize = new Vector2(450, 450); GUIContent content = new GUIContent("Editor"); window.titleContent = content; conversations.Clear(); Conversation[] conver = Resources.LoadAll <Conversation>("Conversations"); foreach (var item in conver) { string[] str = AssetDatabase.GetAssetPath(item).Split(new char[] { '/', '.' }); conversations.Add(item); item.EditConversationName(str[str.Length - 2]); } if (conversations.Count > 0 && selectedConversation == null) { selectedConversation = conversations[0]; CreateTreeStructure.AssignPositionToNodes(selectedConversation, nodeWidth, nodeHeight, nodeHorSpace, nodeVerSpace); } isAddingDialogue = false; InitializeTexture(); }
public void ExportingConversationIncludingReport() { var exporter = new ConversationExporter(); string[] args = { "--report" }; var editorCofig = new EditorConfiguration(args); var editor = new ConversationEditor(editorCofig); var logCreator = new LogCreator(editorCofig); exporter.ExportConversation("chat.txt", "chatReport.json", editor, logCreator); var serializedConversation = new StreamReader(new FileStream("chatReport.json", FileMode.Open)).ReadToEnd(); var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation); Assert.That(savedConversation.name, Is.EqualTo("My Conversation")); var messages = savedConversation.messages.ToList(); var reportList = savedConversation.activity.ToList(); Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901))); Assert.That(messages[0].senderId, Is.EqualTo("bob")); Assert.That(messages[0].content, Is.EqualTo("Hello there!")); Assert.That(reportList[0].sender, Is.EqualTo("bob")); Assert.That(reportList[0].count, Is.EqualTo(3)); Assert.That(reportList[1].sender, Is.EqualTo("mike")); Assert.That(reportList[1].count, Is.EqualTo(2)); Assert.That(reportList[2].sender, Is.EqualTo("angus")); Assert.That(reportList[2].count, Is.EqualTo(2)); }
/// <summary> /// Exports the conversation at <paramref name="inputFilePath"/> as JSON to <paramref name="outputFilePath"/>. /// </summary> /// <param name="inputFilePath"> /// The input file path. /// </param> /// <param name="outputFilePath"> /// The output file path. /// </param> /// <exception cref="ArgumentException"> /// Thrown when a path is invalid. /// </exception> /// <exception cref="Exception"> /// Thrown when something bad happens. /// </exception> public void ExportConversation(string inputFilePath, string outputFilePath, ConversationEditor editor, LogCreator logCreator) { var conversationReader = new ConversationReader(inputFilePath); Conversation conversation = conversationReader.ReadConversation(); editor.EditConversation(conversation); var outputLog = logCreator.CreateLog(conversation); LogWriter logWriter = new LogWriter(); logWriter.WriteToOutput(outputLog, outputFilePath); Console.WriteLine("Conversation exported from '{0}' to '{1}'", inputFilePath, outputFilePath); }
public void ExportingConversationExportsConversation() { var exporter = new ConversationExporter(); string[] args = { }; var editorCofig = new EditorConfiguration(args); var editor = new ConversationEditor(editorCofig); var logCreator = new LogCreator(editorCofig); exporter.ExportConversation("chat.txt", "chat.json", editor, logCreator); var serializedConversation = new StreamReader(new FileStream("chat.json", FileMode.Open)).ReadToEnd(); var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation); Assert.That(savedConversation.name, Is.EqualTo("My Conversation")); var messages = savedConversation.messages.ToList(); Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470901))); Assert.That(messages[0].senderId, Is.EqualTo("bob")); Assert.That(messages[0].content, Is.EqualTo("Hello there!")); Assert.That(messages[1].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470905))); Assert.That(messages[1].senderId, Is.EqualTo("mike")); Assert.That(messages[1].content, Is.EqualTo("how are you?")); Assert.That(messages[2].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470906))); Assert.That(messages[2].senderId, Is.EqualTo("bob")); Assert.That(messages[2].content, Is.EqualTo("I'm good thanks, do you like pie?")); Assert.That(messages[3].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470910))); Assert.That(messages[3].senderId, Is.EqualTo("mike")); Assert.That(messages[3].content, Is.EqualTo("no, let me ask Angus...")); Assert.That(messages[4].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470912))); Assert.That(messages[4].senderId, Is.EqualTo("angus")); Assert.That(messages[4].content, Is.EqualTo("Hell yes! Are we buying some pie?")); Assert.That(messages[5].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470914))); Assert.That(messages[5].senderId, Is.EqualTo("bob")); Assert.That(messages[5].content, Is.EqualTo("No, just want to know if there's anybody else in the pie society...")); Assert.That(messages[6].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470915))); Assert.That(messages[6].senderId, Is.EqualTo("angus")); Assert.That(messages[6].content, Is.EqualTo("YES! I'm the head pie eater there...")); }
/// <summary> /// The application entry point. /// </summary> /// <param name="args"> /// The command line arguments. /// </param> /// <summary> /// The message content. /// </summary> static void Main(string[] args) { // We use Microsoft.Extensions.Configuration.CommandLine and Configuration.Binder to read command line arguments. var configuration = new ConfigurationBuilder().AddCommandLine(args).Build(); var exporterConfiguration = configuration.Get <ExporterConfiguration>(); // Building a configuration of the editing of the conversation - // couldn't get a boolean flag to work in ExporterConfiguration var editorConfiguration = new EditorConfiguration(args); var conversationEditor = new ConversationEditor(editorConfiguration); var logCreator = new LogCreator(editorConfiguration); var conversationExporter = new ConversationExporter(); conversationExporter.ExportConversation(exporterConfiguration.InputFilePath, exporterConfiguration.OutputFilePath, conversationEditor, logCreator); }
public void InitWindows() { Skin = (GUISkin)Resources.Load("GUI/EditorGUI"); //windows init npcEditor = new NPCEditor(Skin, this); armorEditor = new ArmorEditor(Skin, this); arenaEditor = new ArenaEditor(Skin, this); enemyEditor = new EnemyEditor(Skin, this); currencyEditor = new CurrencyEditor(Skin, this); conversationEditor = new ConversationEditor(Skin, this); shopEditor = new ShopEditor(Skin, this); questEditor = new QuestEditor(Skin, this); itemEditor = new ItemEditor(Skin, this); minigameEditor = new MiniGameEditor(Skin, this); serviceEditor = new ServiceEditor(Skin, this); npcQuestEditor = new NPCQuestEditor(Skin, this); townEditor = new TownEditor(Skin, this); badgeEditor = new BadgeEditor(Skin, this); constructionEditor = new ConstructionEditor(Skin, this); loadWindows = false; }
public void ExportingConversationWithFilters() { var exporter = new ConversationExporter(); string[] args = { "--filterByUser", "bob", "--filterByKeyword", "society", "--blacklist", "pie", "--report" }; var editorCofig = new EditorConfiguration(args); var editor = new ConversationEditor(editorCofig); var logCreator = new LogCreator(editorCofig); exporter.ExportConversation("chat.txt", "chatFilter.json", editor, logCreator); var serializedConversation = new StreamReader(new FileStream("chatFilter.json", FileMode.Open)).ReadToEnd(); var savedConversation = JsonConvert.DeserializeObject <Conversation>(serializedConversation); Assert.That(savedConversation.name, Is.EqualTo("My Conversation")); var messages = savedConversation.messages.ToList(); var reportList = savedConversation.activity.ToList(); Assert.That(messages[0].timestamp, Is.EqualTo(DateTimeOffset.FromUnixTimeSeconds(1448470914))); Assert.That(messages[0].senderId, Is.EqualTo("bob")); Assert.That(messages[0].content, Is.EqualTo("No, just want to know if there's anybody else in the *redacted* society...")); }
private static void OpenWindow() { ConversationEditor window = GetWindow <ConversationEditor>(); window.titleContent = new GUIContent("Conversation Editor"); }
public static void OpenConversationWindow() { ConversationEditor _window = GetWindow <ConversationEditor>(); _window.titleContent = new GUIContent("Conversation Editor"); }