Esempio n. 1
0
 public void RegisterType(Type target, StaticRegistrationInfoAttribute info) {
     if (target.HasBase(typeof(GraphicEffect))) {
         foreach (var name in AssemblyRegister.GetInfo(target)) {
             Effects.Add(name.Name, target);
         }
     }
 }
Esempio n. 2
0
 /// <summary>
 /// 注销一个资源提供器
 /// </summary>
 /// <param name="plugin">要注销的提供器</param>
 public static void Unregister(IResourceProvider plugin)
 {
     foreach (var name in AssemblyRegister.GetInfo(plugin.GetType(), plugin))
     {
         Providers.TryRemove(name.Name);
     }
 }
Esempio n. 3
0
 /// <summary>
 /// 注册一个资源提供器
 /// <para>相同名称的提供器会覆盖之前注册的提供器</para>
 /// </summary>
 /// <param name="plugin">要注册的提供器</param>
 public static void Register([NotNull] IResourceProvider plugin)
 {
     foreach (var name in AssemblyRegister.GetInfo(plugin.GetType(), plugin))
     {
         Providers.TryRemove(name.Name);
         Providers.Add(name.Name, plugin);
     }
 }
Esempio n. 4
0
 /// <summary>
 /// 注销一个插件
 /// </summary>
 /// <param name="plugin">要注销的插件</param>
 public static void Unregister(IVisualNovelPlugin plugin)
 {
     foreach (var name in AssemblyRegister.GetInfo(plugin.GetType(), plugin))
     {
         if (!Plugins.ContainsKey(name.Name))
         {
             continue;
         }
         plugin.OnUnregister(false);
         Plugins.Remove(name.Name);
     }
 }
Esempio n. 5
0
 /// <summary>
 /// 注册一个插件
 /// <para>相同名称的插件会覆盖之前注册的插件</para>
 /// </summary>
 /// <param name="plugin">要注册的插件</param>
 public static void Register([NotNull] IVisualNovelPlugin plugin)
 {
     foreach (var name in AssemblyRegister.GetInfo(plugin.GetType(), plugin))
     {
         if (Plugins.ContainsKey(name.Name))
         {
             plugin.OnUnregister(true);
             Plugins.Remove(name.Name);
         }
         plugin.OnRegister();
         Plugins.Add(name.Name, plugin);
     }
 }
Esempio n. 6
0
 static EffectPlugin() {
     AssemblyRegister.Load(Assembly.GetExecutingAssembly());
 }
Esempio n. 7
0
 static PluginManager()
 {
     AssemblyRegister.Load(Assembly.GetExecutingAssembly());
 }
Esempio n. 8
0
 static ResourceManager()
 {
     AssemblyRegister.Load(Assembly.GetExecutingAssembly());
 }