From 45edf6fdce9980f412bc105839ff0d5b60087b53 Mon Sep 17 00:00:00 2001 From: RogueException Date: Mon, 4 Jan 2016 03:49:25 -0400 Subject: [PATCH] Cleaned up ModuleManager, added Instance --- src/Discord.Net.Modules/ModuleManager.cs | 23 +++++++++++++---------- src/Discord.Net.Modules/ModuleService.cs | 2 +- 2 files changed, 14 insertions(+), 11 deletions(-) diff --git a/src/Discord.Net.Modules/ModuleManager.cs b/src/Discord.Net.Modules/ModuleManager.cs index 982fd021e..ea447ac21 100644 --- a/src/Discord.Net.Modules/ModuleManager.cs +++ b/src/Discord.Net.Modules/ModuleManager.cs @@ -51,22 +51,25 @@ namespace Discord.Modules private readonly ConcurrentDictionary _indirectServers; private readonly AsyncLock _lock; - public DiscordClient Client => _client; - public string Name => _name; - public string Id => _id; - public FilterType FilterType => _filterType; - public IEnumerable EnabledServers => _enabledServers.Select(x => x.Value); + public DiscordClient Client { get; } + public IModule Instance { get; } + public string Name { get; } + public string Id { get; } + public FilterType FilterType { get; } + + public IEnumerable EnabledServers => _enabledServers.Select(x => x.Value); public IEnumerable EnabledChannels => _enabledChannels.Select(x => x.Value); - internal ModuleManager(DiscordClient client, string name, FilterType filterType) + internal ModuleManager(DiscordClient client, string name, FilterType filterType, IModule instance) { - _client = client; - _name = name; + Client = client; + Name = name; + FilterType = filterType; + Instance = instance; - _id = name.ToLowerInvariant(); + Id = name.ToLowerInvariant(); _lock = new AsyncLock(); - _filterType = filterType; _allowAll = filterType == FilterType.Unrestricted; _useServerWhitelist = filterType.HasFlag(FilterType.ServerWhitelist); _useChannelWhitelist = filterType.HasFlag(FilterType.ChannelWhitelist); diff --git a/src/Discord.Net.Modules/ModuleService.cs b/src/Discord.Net.Modules/ModuleService.cs index 731b57457..941b2f613 100644 --- a/src/Discord.Net.Modules/ModuleService.cs +++ b/src/Discord.Net.Modules/ModuleService.cs @@ -30,7 +30,7 @@ namespace Discord.Modules if (_modules.ContainsKey(module)) throw new InvalidOperationException("This module has already been added."); - var manager = new ModuleManager(Client, name, type); + var manager = new ModuleManager(Client, name, type, module); _modules.Add(module, manager); module.Install(manager); }