Ejemplo n.º 1
0
        public static IEnumerable <UPlugin> FindPluginsInProject(UProject project)
        {
            List <UPlugin> plugins = new List <UPlugin>();

            var plugins_dir = project.PluginsDirectory;

            if (Directory.Exists(plugins_dir))
            {
                var uplugin_files = Directory.GetFiles(plugins_dir, "*.uplugin", SearchOption.AllDirectories);
                foreach (var filename in uplugin_files)
                {
                    string name = Path.GetFileName(filename);
                    var    idx  = name.IndexOf('.');
                    name        = name.Substring(0, idx);
                    plugins_dir = EnsureTrailingSeparator(plugins_dir);
                    string uplugin_dir = EnsureTrailingSeparator(Path.GetDirectoryName(filename));
                    string relative    = MakeRelativePath(plugins_dir, uplugin_dir);
                    plugins.Add(new UPlugin(name, project, relative));
                }
            }

            return(plugins);
        }
Ejemplo n.º 2
0
 public UPlugin(string name, UProject proj, string rel_path) : base(name, Path.Combine(proj.PluginsDirectory, rel_path))
 {
     Project      = proj;
     RelativePath = rel_path;
 }