Ejemplo n.º 1
0
        private void DiscoReaderHandleNewDialogueEntry(LuaWatchItem luaWatchItem, Lua.Result newResult)
        {
            try
            {
                if (DialogueManager.IsConversationActive && DialogueManager.Instance.ConversationModel.HasValidEntry)
                {
                    Subtitle dialogueSubtitle = DialogueManager.Instance.currentConversationState.subtitle;

                    if (dialogueSubtitle?.dialogueEntry == null)
                    {
                        return;
                    }

                    FinalEntry finalEntry = ConversationLogger.AssembleFinalEntry(dialogueSubtitle.dialogueEntry);

                    int conversationId = DialogueManager.Instance.ConversationModel.GetConversationID(DialogueManager.Instance.currentConversationState);
                    if (Conversation == null || Conversation.ConversationId != conversationId)
                    {
                        Conversation = new Conversation(conversationId, DialogueManager.Instance.ConversationModel.ActorInfo.Name, DialogueManager.Instance.ConversationModel.ConversantInfo.Name);
                    }

                    Conversation.DialogueEntries.Add(new ReaderDialogueEntry(dialogueSubtitle.speakerInfo.Name, dialogueSubtitle.speakerInfo.IsPlayer, finalEntry.spokenLine, dialogueSubtitle.sequence, UniqueDialogEntry));
                }
                else
                {
                    Conversation = new Utils.Conversation();
                }


                // Now to handle outputting to the file...
                XmlSerializer serializerObj = new XmlSerializer(typeof(Conversation));
                Stream        stream        = null;
                try
                {
                    stream = new FileStream(@"WriteText.txt", FileMode.Create, FileAccess.Write);
                    serializerObj.Serialize(stream, Conversation);
                }
                finally
                {
                    stream?.Close();
                }
            }
            catch (Exception e)
            {
                ShowDebugMessage("Exception while writing file... " + e.Message, 30);
                // We never want to throw an exception
            }
        }
Ejemplo n.º 2
0
 void OnVarChanged(LuaWatchItem item, Lua.Result value)
 {
     Interact();
 }