Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import es
- import sys
- class AddonManagerHook(es.AddonManager):
- def __init__(self):
- if hasattr(es.AddonManager, '__init__'):
- es.AddonManager.__init__(self)
- def triggerEvent(self, eventname):
- es.dbgmsg(0, "Event fired")
- if not self.EventListeners.has_key(eventname):
- return
- for listener in self.EventListeners[eventname]:
- if not listener.__dict__.has_key('disable') or not listener.disabled:
- try:
- self.EventListeners[eventname][listener](es.event_var)
- except:
- sys.excepthook(*sys.exc_info())
- """ Save the instance of the current addons """
- oldAddonsManager = es.addons
- """ Create a new instance of our hook """
- addonsHook = AddonManagerHook()
- """ Ensure our hook contains the same listeners as the old event manager """
- addonsHook.AddonList = oldAddonsManager.AddonList
- addonsHook.EventListeners = oldAddonsManager.EventListeners
- addonsHook.Blocks = oldAddonsManager.Blocks
- addonsHook.TickListeners = oldAddonsManager.TickListeners
- addonsHook.SayListeners = oldAddonsManager.SayListeners
- addonsHook.ClientCommandFilters = oldAddonsManager.ClientCommandFilters
- # This next foreach loop throws an error
- #for v in addonsHook.getAddonList():
- # es.dbgmsg(0, v)
- """ Ah the beautiful hook assignment :D """
- es.addons = addonsHook
- def unload():
- """ On unload, reassign the addon manager back to it's predecessor """
- es.addons = oldAddonsManager
- def round_start(event_var):
- es.dbgmsg(0, "Round started")
- #addonsHook.triggerEvent("round_start")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement