using System; using System.Collections.Generic; using System.Linq; using System.Text; using RomCheater.PluginFramework.Interfaces; using RomCheater.Logging; using System.IO; namespace RomCheater.PluginFramework.Core { public class PluginLoader : IPluginLoader { public PluginLoader() { LoadedConfigPlugins = new List(); LoadedInputPlugins = new List(); LoadedWindowPlugins = new List(); } #region IPluginLoader Members public void LoadPlugins() { logger.Info.WriteLine("Loading Plugins..."); string PluginPath = string.Format(@"{0}\Plugins", typeof(PluginLoader).Assembly.Location.Replace(@"\RomCheater.PluginFramework.dll", "")); logger.Debug.WriteLine("Plugins Path: {0}", PluginPath); List dlls = new List(Directory.GetFiles(PluginPath, "*.dll")); logger.Debug.WriteLine(" Found: {0} plugin dlls", dlls.Count); foreach (string dll in dlls) { FileInfo fi = new FileInfo(dll); logger.Debug.WriteLine(" plugin[{0}]: {1}", dlls.IndexOf(dll), fi.Name); } logger.Info.WriteLine("Plugins Loaded."); } public List LoadedConfigPlugins { get; private set; } public List LoadedInputPlugins { get; private set; } public List LoadedWindowPlugins { get; private set; } #endregion } }