Add Autoload to Module Attribute

[UNTESTED] Adds an optional parameter to the Module attribute, "autoload", which defaults to true.

Specifies whether or not the assembly crawler should load this module.
This commit is contained in:
Christopher F
2016-07-20 17:20:37 -04:00
parent ba370aa865
commit 6e42acba68
2 changed files with 6 additions and 3 deletions

View File

@@ -6,13 +6,16 @@ namespace Discord.Commands
public class ModuleAttribute : Attribute
{
public string Prefix { get; }
public ModuleAttribute()
public bool Autoload { get; }
public ModuleAttribute(bool autoload = true)
{
Prefix = null;
Autoload = autoload;
}
public ModuleAttribute(string prefix)
public ModuleAttribute(string prefix, bool autoload = true)
{
Prefix = prefix;
Autoload = autoload;
}
}
}

View File

@@ -174,7 +174,7 @@ namespace Discord.Commands
{
var typeInfo = type.GetTypeInfo();
var moduleAttr = typeInfo.GetCustomAttribute<ModuleAttribute>();
if (moduleAttr != null)
if (moduleAttr != null && moduleAttr.Autoload)
{
var moduleInstance = ReflectionUtils.CreateObject(typeInfo);
modules.Add(LoadInternal(moduleInstance, moduleAttr, typeInfo));