AdvancedLauncher.SDK.Management.Plugins.Proxy.LoadInfos C# (CSharp) Method

LoadInfos() public method

Scans specified PluginLibs for types implementing IPlugin.
public LoadInfos ( ) : void
return void
        public void LoadInfos()
        {
            Type pluginType = typeof(IPlugin);
            foreach (var assemblyPath in PluginLibs) {
                try {
                    var assembly = AppDomain.CurrentDomain.Load(AssemblyName.GetAssemblyName(assemblyPath).FullName);
                    byte[] asmToken = assembly.GetName().GetPublicKeyToken();
                    foreach (Type type in assembly.GetExportedTypes()) {
                        if (type.IsAbstract) {
                            continue;
                        }
                        if (pluginType.IsAssignableFrom(type)) {
                            PluginInfos.Add(new PluginInfo(assemblyPath, type.FullName, asmToken));
                        }
                    }
                } catch (Exception) {
                    continue;
                }
            }
        }