GoodAI.Core.Memory.MyMemoryBlockSerializer.ResolveFilePath C# (CSharp) Method

ResolveFilePath() private static method

private static ResolveFilePath ( MyAbstractMemoryBlock memoryBlock, string globalDataFolder ) : string
memoryBlock MyAbstractMemoryBlock
globalDataFolder string
return string
        private static string ResolveFilePath(MyAbstractMemoryBlock memoryBlock, string globalDataFolder)
        {
            string fileName = GetTempStorage(memoryBlock.Owner.Owner) + "\\" + GetNodeFolder(memoryBlock.Owner) + "\\" + GetFileName(memoryBlock);

            if (!File.Exists(fileName))
            {
                MyWorkingNode node = memoryBlock.Owner as MyWorkingNode;                

                if (!string.IsNullOrEmpty(node.DataFolder))
                {
                    fileName = node.DataFolder;                    
                }
                else if (!string.IsNullOrEmpty(globalDataFolder))
                {
                    fileName = globalDataFolder + "\\" + GetNodeFolder(memoryBlock.Owner);
                }
                else
                {
                    throw new FileNotFoundException(
                        "File not found in temporal folder and no data folder defined: " + fileName);
                }

                fileName += "\\" + GetFileName(memoryBlock);
            }

            if (!File.Exists(fileName))
            {
                throw new FileNotFoundException("Memory block file not found: " + fileName);
            }

            return fileName;
        }