////////////////////////////////////////
// WCS - Warcraft:Source              //
// ---------------------------------- //
//  by kRypT0n!Te                     //
//      http://wc3source.de           //
// ---------------------------------- //
// Content of this subscript          //
// - interface for custom addons      //
////////////////////////////////////////
//
// Thanks to Phat_Wizard for this nice idea :)
//
// console command:
// - wcs_addonreload <NAME>
////////////////////////////////////////


block load
{
	es_xset wcs_addon_name 0 "Name of the addon"
  // load the addons list
  es_xkeygroupcreate WCSaddons
  es_xkeygroupload WCSaddons |wcs/WCSaddons
  // load each addon
  es_xforeachkey wcs_key in WCSaddons "es_xformatv wcs_addon_name wcs/WCSaddons/%1 wcs_key;es_keygetvalue wcs_tmp WCSaddons server_var(wcs_key) enabled;if (server_var(wcs_tmp) = 1) then es_xload server_var(wcs_addon_name)"
  es_exists ex command wcs_addonreload
  if (server_var(ex) = 0) then es_xregcmd wcs_addonreload wcs/WCSaddons/wcs_addonreload "Reloads an addon"
}

block unload
{
  // unload each addon (eg. for saving data)
  es_xforeachkey wcs_key in WCSaddons "es_xformatv wcs_addon_name wcs/WCSaddons/%1 wcs_key;es_keygetvalue wcs_tmp WCSaddons server_var(wcs_key) enabled;if (server_var(wcs_tmp) = 1) then es_xunload server_var(wcs_addon_name)"
  // unload the addons list
  es_xkeygroupdelete WCSaddons
}

block wcs_addonreload
{
  es_xgetargv wcs_tmp 1
  es_exists ex key WCSaddons server_var(wcs_tmp)
  ifx true(ex) do
  {
    es_xformatv wcs_tmp "wcs/WCSaddons/%1" wcs_tmp
    es_reload server_var(wcs_tmp)
  }
}
