1 |
william |
83 |
using System; |
2 |
|
|
using System.Collections.Generic; |
3 |
|
|
using System.Linq; |
4 |
|
|
using System.Text; |
5 |
|
|
using RomCheater.PluginFramework.Interfaces; |
6 |
|
|
using RomCheater.Logging; |
7 |
william |
84 |
using System.IO; |
8 |
william |
83 |
|
9 |
|
|
namespace RomCheater.PluginFramework.Core |
10 |
|
|
{ |
11 |
|
|
public class PluginLoader : IPluginLoader |
12 |
|
|
{ |
13 |
|
|
public PluginLoader() |
14 |
|
|
{ |
15 |
|
|
LoadedConfigPlugins = new List<IConfigPlugin>(); |
16 |
|
|
LoadedInputPlugins = new List<IInputPlugin>(); |
17 |
|
|
LoadedWindowPlugins = new List<IWindowPlugin>(); |
18 |
|
|
} |
19 |
|
|
#region IPluginLoader Members |
20 |
|
|
|
21 |
|
|
public void LoadPlugins() |
22 |
|
|
{ |
23 |
|
|
logger.Info.WriteLine("Loading Plugins..."); |
24 |
william |
84 |
|
25 |
|
|
string PluginPath = string.Format(@"{0}\Plugins", typeof(PluginLoader).Assembly.Location.Replace(@"\RomCheater.PluginFramework.dll", "")); |
26 |
|
|
logger.Debug.WriteLine("Plugins Path: {0}", PluginPath); |
27 |
|
|
List<string> dlls = new List<string>(Directory.GetFiles(PluginPath, "*.dll")); |
28 |
|
|
logger.Debug.WriteLine(" Found: {0} plugin dlls", dlls.Count); |
29 |
|
|
foreach (string dll in dlls) |
30 |
|
|
{ |
31 |
|
|
FileInfo fi = new FileInfo(dll); |
32 |
|
|
logger.Debug.WriteLine(" plugin[{0}]: {1}", dlls.IndexOf(dll), fi.Name); |
33 |
|
|
} |
34 |
|
|
logger.Info.WriteLine("Plugins Loaded."); |
35 |
william |
83 |
} |
36 |
|
|
public List<IConfigPlugin> LoadedConfigPlugins { get; private set; } |
37 |
|
|
public List<IInputPlugin> LoadedInputPlugins { get; private set; } |
38 |
|
|
public List<IWindowPlugin> LoadedWindowPlugins { get; private set; } |
39 |
|
|
#endregion |
40 |
|
|
} |
41 |
|
|
} |