Ejemplo n.º 1
0
        public List <ConversationAsset> LoadConversations()
        {
            List <ConversationAsset> conversations = new List <ConversationAsset>();

            // Guard - Only load if working directory is set
            if (FileSystemService.getInstance().WorkingDirectory != null)
            {
                string[] conversationPaths = Directory.GetFiles(FileSystemService.getInstance().WorkingDirectory);

                foreach (string conversationPath in conversationPaths)
                {
                    // GUARD - Only process .bytes files
                    if (!conversationPath.EndsWith(".bytes"))
                    {
                        continue;
                    }

                    // This is a ConversationSpeakerList instead of a Conversation
                    if (conversationPath.Contains(".cvsl.bytes"))
                    {
                        SpeakerListAsset speakerListAsset = LoadSpeakersList(conversationPath);
                        SaveJsonSpeakerList(speakerListAsset, speakerListAsset.FilePath);
                    }
                    else
                    {
                        ConversationAsset conversationAsset = LoadConversation(conversationPath);
                        conversations.Add(conversationAsset);
                    }
                }
            }

            return(conversations);
        }
Ejemplo n.º 2
0
 public void SaveSpeakersList(SpeakerListAsset speakerList, FileFormat fileFormat, string path)
 {
     if (fileFormat == FileFormat.JSON)
     {
         SaveJsonSpeakerList(speakerList, path);
     }
     else if (fileFormat == FileFormat.BINARY)
     {
         SaveBinarySpeakerList(speakerList, path);
     }
 }
Ejemplo n.º 3
0
        private void SaveBinarySpeakerList(SpeakerListAsset speakerList, string path)
        {
            RuntimeTypeModel runtimeTypeModel = TypeModel.Create();

            try {
                using (FileStream fileStream = new FileStream(Path.ChangeExtension(path, ".bytes"), FileMode.Create)) {
                    runtimeTypeModel.Serialize(fileStream, speakerList.SpeakerList);
                }
            } catch (Exception error) {
                Log.Error(error.ToString());
            }
        }
Ejemplo n.º 4
0
        public SpeakerListAsset LoadSpeakersList(string filePath)
        {
            SpeakerListAsset speakerListAsset = null;
            RuntimeTypeModel runtimeTypeModel = TypeModel.Create();

            try {
                using (FileStream fileStream = new FileStream(filePath, FileMode.Open)) {
                    ConversationSpeakerList speakerList = runtimeTypeModel.Deserialize(fileStream, null, typeof(ConversationSpeakerList)) as ConversationSpeakerList;
                    speakerListAsset = new SpeakerListAsset(filePath, speakerList);
                }
            } catch (Exception error) {
                Log.Error(error.ToString());
                return(null);
            }

            return(speakerListAsset);
        }
Ejemplo n.º 5
0
 private void SaveJsonSpeakerList(SpeakerListAsset speakerList, string path)
 {
     File.WriteAllText(Path.ChangeExtension(path, ".json"), JsonConvert.SerializeObject(speakerList.SpeakerList, Formatting.Indented));
 }