Mercurial > wow > ouroloot
comparison core.lua @ 58:59718ec80610
Consolidate some common code out of modules.
author | Farmbuyer of US-Kilrogg <farmbuyer@gmail.com> |
---|---|
date | Tue, 17 Apr 2012 06:26:11 +0000 |
parents | 81d5449621f8 |
children | 99ab21f0755f |
comparison
equal
deleted
inserted
replaced
57:81d5449621f8 | 58:59718ec80610 |
---|---|
660 self:_scan_LOD_modules() | 660 self:_scan_LOD_modules() |
661 | 661 |
662 if self.debug.flow then self:Print"is in control-flow debug mode." end | 662 if self.debug.flow then self:Print"is in control-flow debug mode." end |
663 end | 663 end |
664 --function addon:OnDisable() end | 664 --function addon:OnDisable() end |
665 | |
666 do | |
667 local prototype = {} | |
668 local function module_OnEnable (plugin) | |
669 if plugin.option_defaults then | |
670 local SVname = 'OuroLoot'..plugin:GetName()..'_opts' | |
671 if not _G[SVname] then | |
672 _G[SVname] = {} | |
673 if type(plugin.OnFirstTime) == 'function' then | |
674 plugin:OnFirstTime() | |
675 end | |
676 end | |
677 plugin.opts = _G[SVname] | |
678 for option,default in pairs(plugin.option_defaults) do | |
679 if plugin.opts[option] == nil then | |
680 plugin.opts[option] = default | |
681 end | |
682 end | |
683 plugin.option_defaults = nil | |
684 end | |
685 end | |
686 | |
687 -- By default, no plugins. First plugin to use the special registration | |
688 -- sets up code for any subsequent plugins. | |
689 addon.is_plugin = flib.nullfunc | |
690 local function module_rtg (plugin, text_type, ...) | |
691 local registry = { [text_type]=plugin } | |
692 addon.is_plugin = function(a,t) return registry[t] end | |
693 prototype.register_text_generator = function(p,t,...) | |
694 registry[t] = p | |
695 return addon:register_text_generator(t,...) | |
696 end | |
697 return addon:register_text_generator(text_type,...) | |
698 end | |
699 | |
700 prototype.OnEnable = module_OnEnable | |
701 prototype.default_OnEnable = module_OnEnable | |
702 prototype.register_text_generator = module_rtg | |
703 | |
704 addon:SetDefaultModuleLibraries("AceConsole-3.0") | |
705 addon:SetDefaultModulePrototype(prototype) | |
706 -- Fires before the plugin's own OnEnable (inherited or otherwise). | |
707 --function addon:OnModuleCreated (plugin) | |
708 -- print("created plugin", plugin:GetName()) | |
709 --end | |
710 end | |
665 | 711 |
666 | 712 |
667 ------ Event handlers | 713 ------ Event handlers |
668 function addon:_clear_SVs() | 714 function addon:_clear_SVs() |
669 g_loot = {} -- not saved, just fooling PLAYER_LOGOUT tests | 715 g_loot = {} -- not saved, just fooling PLAYER_LOGOUT tests |