Assets.IPC.Update C# (CSharp) Method

Update() public method

public Update ( ) : void
return void
        public void Update()
        {
            if (!IPC.Updated)
                return;

            IPC.Updated = false;

            List<string> fileNameVec = FileSystem.ListFilesInDirectory(Globals.IpcPath);
            foreach (string fileNameCurrent in fileNameVec)
            {
                string fileNameEveryone = "";
                if (fileNameCurrent.Length >= 8)
                    fileNameEveryone = fileNameCurrent.Substring(0, 8);

                if (fileNameCurrent.Length > selfName.Length || fileNameEveryone == "everyone")
                {
                    if (IPC.FileNameProcessedMap.ContainsKey(fileNameCurrent) && IPC.FileNameProcessedMap[fileNameCurrent] == true)
                        continue;
                    else
                        IPC.FileNameProcessedMap[fileNameCurrent] = true;

                    string fileName = "";
                    string fileNameID = "";
                    if (fileNameEveryone != "everyone")
                    {
                        fileName = fileNameCurrent.Substring(0, selfName.Length);
                        fileNameID = fileNameCurrent.Substring(selfName.Length, fileNameCurrent.Length - selfName.Length);
                    }

                    if (fileName == selfName || fileNameEveryone == "everyone")
                    {
                        Thread.Sleep(20);

                        List<string> lines = FileSystem.ReadTextFile(Globals.IpcPath + "\\" + fileNameCurrent);
                        // FileSystem.DeleteFile(Globals.IpcPath + "\\" + fileNameCurrent);

                        string[] messageVec = lines[0].Split('!');
                        string messageHead = messageVec[0];
                        string messageBody = messageVec[1];

                        Globals.WriteLine("message received " + " " + messageHead + " " + messageBody + " " + fileNameCurrent);

                        if (!responseMap.ContainsKey(messageHead))
                        {
                            if (commandMap.ContainsKey(messageHead))
                                commandMap[messageHead](messageBody);
                        }
                        else
                        {
                            Func<string, int> func = responseMap[messageHead];
                            responseMap.Remove(messageHead);
                            func(messageBody);
                        }
                    }
                }
            }

            IPC.Updated = true;
        }