ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater.PluginFramework/Core/PluginLoader.cs
(Generate patch)

Comparing trunk/RomCheater.PluginFramework/Core/PluginLoader.cs (file contents):
Revision 85 by william, Wed May 9 18:13:51 2012 UTC vs.
Revision 87 by william, Wed May 9 19:51:42 2012 UTC

--- trunk/RomCheater.PluginFramework/Core/PluginLoader.cs	2012/05/09 18:13:51	85
+++ trunk/RomCheater.PluginFramework/Core/PluginLoader.cs	2012/05/09 19:51:42	87
@@ -44,6 +44,18 @@ namespace RomCheater.PluginFramework.Cor
 
                 logger.Info.WriteLine("Plugins Loaded.");
             }
+            catch (ReflectionTypeLoadException ex)
+            {
+                StringBuilder builder = new StringBuilder();
+                if (ex.LoaderExceptions.Count() > 0)
+                {
+                    foreach (Exception c in ex.LoaderExceptions)
+                    {
+                        builder.AppendLine(c.ToString());
+                    }
+                }
+                logger.Error.WriteLine("Failed to load one or more plugins{0}Possible Reason:{0}{1}", System.Environment.NewLine, builder.ToString());
+            }
             catch (Exception ex)
             {
                 logger.Error.WriteLine("Failed to load one or more plugins{0}Possible Reason:{0}{1}", System.Environment.NewLine, ex.ToString());
@@ -52,6 +64,23 @@ namespace RomCheater.PluginFramework.Cor
         public List<IConfigPlugin> LoadedConfigPlugins { get; private set; }
         public List<IInputPlugin> LoadedInputPlugins { get; private set; }
         public List<IWindowPlugin> LoadedWindowPlugins { get; private set; }
+
+        public IConfigPlugin GetConfigPlugin(string t)
+        {
+            foreach (IConfigPlugin c in LoadedConfigPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return null;
+        }
+        public IInputPlugin GetInputPlugin(string t)
+        {
+            foreach (IInputPlugin c in LoadedInputPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return null;
+        }
+        public IWindowPlugin GetWindowPlugin(string t)
+        {
+            foreach (IWindowPlugin c in LoadedWindowPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return null;
+        }
+
         #endregion
 
         private void GetConfigPluginsFromDll(FileInfo dll)