Added "initial_call" argument to "on_enabled" and "on_disabled" events.

This commit is contained in:
bi 2018-02-19 01:45:35 +03:00
parent a245c5d8d9
commit 1b2755e681
2 changed files with 10 additions and 10 deletions

View file

@ -72,25 +72,25 @@ vmf.mod_setting_changed_event = function(mod, setting_name)
end
end
vmf.mod_enabled_event = function(mod)
vmf.mod_enabled_event = function(mod, initial_call)
local event_name = "on_enabled"
local event = mod[event_name]
if event then
run_event(mod, event_name, event)
run_event(mod, event_name, event, initial_call)
else
mod:warning("Attemt to call undefined event 'mod.%s'.", event_name)
end
end
vmf.mod_disabled_event = function(mod)
vmf.mod_disabled_event = function(mod, initial_call)
local event_name = "on_disabled"
local event = mod[event_name]
if event then
run_event(mod, event_name, event)
run_event(mod, event_name, event, initial_call)
else
mod:warning("Attemt to call undefined event 'mod.%s'.", event_name)
end

View file

@ -6,21 +6,21 @@ local _DISABLED_MODS_LIST = vmf:get("disabled_mods_list") or {}
-- ##### Local functions ##############################################################################################
-- ####################################################################################################################
local function change_mod_state(mod, enable, skip_saving)
local function change_mod_state(mod, enable, initial_call)
if enable then
_DISABLED_MODS_LIST[mod:get_name()] = nil
vmf.mod_enabled_event(mod)
vmf.mod_enabled_event(mod, initial_call)
else
_DISABLED_MODS_LIST[mod:get_name()] = true
vmf.mod_disabled_event(mod)
vmf.mod_disabled_event(mod, initial_call)
end
if skip_saving then
if initial_call then
return
end
@ -40,7 +40,7 @@ VMFMod.disable = function (self)
if not _DISABLED_MODS_LIST[self:get_name()] then
change_mod_state(self, false)
change_mod_state(self, false, false)
end
end
@ -48,7 +48,7 @@ VMFMod.enable = function (self)
if _DISABLED_MODS_LIST[self:get_name()] then
change_mod_state(self, true)
change_mod_state(self, true, false)
end
end