AGS.Editor.BuildTargetLinux.CheckPluginsHaveSharedLibraries C# (CSharp) Method

CheckPluginsHaveSharedLibraries() private method

private CheckPluginsHaveSharedLibraries ( ) : bool
return bool
        private bool CheckPluginsHaveSharedLibraries()
        {
            _plugins.Clear();
            string linuxDir = Path.Combine(Factory.AGSEditor.EditorDirectory, LINUX_DIR);
            string lib32Dir = Path.Combine(linuxDir, LINUX_LIB32_DIR);
            string lib64Dir = Path.Combine(linuxDir, LINUX_LIB64_DIR);
            foreach (Plugin plugin in Factory.AGSEditor.CurrentGame.Plugins)
            {
                string soName = "lib" + plugin.FileName.Substring(0, plugin.FileName.Length - 3) + "so";
                bool has32bit = File.Exists(Path.Combine(lib32Dir, soName));
                bool has64bit = File.Exists(Path.Combine(lib64Dir, soName));
                if ((!has32bit) || (!has64bit))
                {
                    DialogResult ignore = MessageBox.Show("WARNING! The plugin '" + plugin.FileName +
                        "' does not have a Linux equivalent ('" + soName +
                        "' (" + (has32bit ? "" : "32-bit") + (has64bit ? "" : (has32bit ? "" : ", ") + "64-bit") + ")" +
                        ") available. Your game may not run or function properly without it. Do you wish to continue building for Linux anyway?",
                        "Missing plugin for Linux",
                        MessageBoxButtons.YesNo,
                        MessageBoxIcon.Warning);
                    if (ignore == DialogResult.Yes) continue;
                    return false;
                }
                _plugins.Add(soName);
            }
            return true;
        }