³ò
øÿlOc           @   sP   d  Z  d d k l Z d d k l Z d d k l Z d e f d „  ƒ  YZ d S(   sj   
$Rev: 625 $
$LastChangedBy: satoon101 $
$LastChangedDate: 2012-03-21 23:37:28 -0400 (Wed, 21 Mar 2012) $
iÿÿÿÿ(   t   AddonConflicts(   t   DependentAddons(   t   LoadedAddonst   AddonManagerc           B   sM   e  Z d  Z d „  Z d „  Z e d „  ƒ Z e d „  ƒ Z e d „  ƒ Z	 RS(   s+   Class that manages loading/unloading addonsc         C   s¡   | t  j o t d | ƒ ‚ n t  | } xE | i i D]7 } t i | | i ƒ | t  j o |  i | ƒ q8 q8 Wx' | i i D] } t	 i
 | | i ƒ q€ Wd S(   s'   Method used to load a GunGame sub-addons(   GunGame sub-addon "%s" is already loadedN(   R   t	   NameErrort   infot   requiresR   t   _add_dependencyt   basenamet   _load_addont	   conflictsR    t   _add_conflict(   t   selft   addont   instancet   dependeet   conflict(    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyR	      s    
  c         C   sÀ   | t  j o t d | ƒ ‚ n t  | } x] | i i D]O } t | i } t i | | i ƒ | t j o | p |  i | ƒ q‡ q8 q8 Wx' | i i	 D] } t
 i | | i ƒ q˜ Wt  | =d S(   s)   Method used to unload a GunGame sub-addons$   GunGame sub-addon "%s" is not loadedN(   R   R   R   R   R   t   remain_loadedt   _remove_dependencyR   t   _unload_addonR
   R    t   _remove_conflict(   R   R   R   R   t   keep_addon_loadedR   (    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyR   7   s    
  c          C   s6   t  i ƒ  t i ƒ  x t i ƒ  D] }  t |  =q! Wd S(   s*   Method used to remove all addons on unloadN(   R   t   clearR    R   t   keys(   R   (    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyt   unload_all_addons^   s
    

 c         O   s   |  i  | | | Ž d S(   s}   
            Method kept for backwards compatibility.

            Allows scripters to call other addon's functions.
        N(   t   _call_block(   R   t	   blocknamet   at   kw(    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyt
   call_blockn   s    	c         C   s   t  S(   sˆ   
            Method kept for backwards compatibility.

            Allows scripters to use the AddonManager to get LoadedAddons
        (   R   (   R   (    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyt
   __loaded__y   s    	(
   t   __name__t
   __module__t   __doc__R	   R   t   staticmethodR   R   t   propertyR   (    (    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pyR      s   		'N(	   R!   R
   R    t
   dependencyR   t   loadedR   t   objectR   (    (    (    sW   /home/saberrider/srcds/css/cstrike/addons/eventscripts/gungame51/core/addons/manager.pys   <module>   s   