Example #1
0
        public List <UABEAPluginMenuInfo> GetPluginsThatSupport(AssetsManager am, List <AssetExternal> selectedAssets)
        {
            List <UABEAPluginMenuInfo> menuInfos = new List <UABEAPluginMenuInfo>();

            foreach (var pluginInf in loadedPlugins)
            {
                foreach (var option in pluginInf.options)
                {
                    for (int i = 0; i < 2; i++)
                    {
                        //these are separate actions even though they always work the same
                        UABEAPluginAction action = i == 0 ? UABEAPluginAction.Import : UABEAPluginAction.Export;
                        bool supported           = option.SelectionValidForPlugin(am, action, selectedAssets, out string entryName);
                        if (supported)
                        {
                            UABEAPluginMenuInfo menuInf = new UABEAPluginMenuInfo(pluginInf, option, entryName);
                            menuInfos.Add(menuInf);
                        }
                    }
                }
            }
            return(menuInfos);
            //List<IElementDescriptor> selectedDescriptors = new List<IElementDescriptor>();
            //foreach (AssetExternal ext in selectedAssets)
            //{
            //    selectedDescriptors.Add(new ImportDescriptor());
            //    selectedDescriptors.Add(new ExportDescriptor());
            //}
            //
            //List<PluginInfo> supportedPlugins = new List<PluginInfo>();
            //foreach (var plugin in loadedPlugins)
            //{
            //    foreach (var option in plugin.options)
            //    {
            //        option.supportCallback(pluginInterface, selectedDescriptors, new string[0], out string desc, out bool supportsBatch);
            //    }
            //}
            //return supportedPlugins;
        }
Example #2
0
        public List <UABEAPluginMenuInfo> GetPluginsThatSupport(AssetsManager am, List <AssetContainer> selectedAssets)
        {
            List <UABEAPluginMenuInfo> menuInfos = new List <UABEAPluginMenuInfo>();

            foreach (var pluginInf in loadedPlugins)
            {
                foreach (var option in pluginInf.options)
                {
                    for (int i = 0; i < 2; i++)
                    {
                        //these are separate actions even though they always work the same
                        UABEAPluginAction action = i == 0 ? UABEAPluginAction.Import : UABEAPluginAction.Export;
                        bool supported           = option.SelectionValidForPlugin(am, action, selectedAssets, out string entryName);
                        if (supported)
                        {
                            UABEAPluginMenuInfo menuInf = new UABEAPluginMenuInfo(pluginInf, option, entryName);
                            menuInfos.Add(menuInf);
                        }
                    }
                }
            }
            return(menuInfos);
        }