Esempio n. 1
0
 def handle(self, element, module, clazz, handlers, listeners, override,
            log, dll):
     override = self.isTrue(override)
     dll = BugDll.decode(dll)
     if self.isDllOkay(element, dll):
         if clazz:
             utils = BugUtil.callFunction(module, clazz)
             element.setState("gameutils", utils)
             if handlers or listeners:
                 if handlers:
                     for handler in handlers.replace(",", " ").split():
                         addHandler(BugUtil.bindFunction(utils, handler),
                                    override, log)
                 if listeners:
                     for listener in listeners.replace(",", " ").split():
                         func = None
                         if not listener.endswith(LISTENER_SUFFIX):
                             try:
                                 func = BugUtil.bindFunction(
                                     utils, listener + LISTENER_SUFFIX)
                             except BugUtil.ConfigError:
                                 pass
                         if not func:
                             try:
                                 func = BugUtil.bindFunction(
                                     utils, listener)
                             except BugUtil.ConfigError:
                                 raise BugUtil.ConfigError(
                                     "Game utils %s.%s must define function %s or %s",
                                     module, clazz, listener,
                                     listener + "Listener")
                         addListener(func, log)
             else:
                 addClassUtils(utils, override, log)
         else:
             if handlers or listeners:
                 if handlers:
                     for handler in handlers.replace(",", " ").split():
                         addHandler(BugUtil.lookupFunction(module, handler),
                                    override, log)
                 if listeners:
                     for listener in listeners.replace(",", " ").split():
                         addListener(
                             BugUtil.lookupFunction(module, listener), log)
             else:
                 addModuleUtils(BugUtil.lookupModule(module), override, log)
     else:
         BugUtil.info(
             "BugGameUtils - ignoring <%s> %s.%s, requires dll version %s",
             element.tag, module, clazz, self.resolveDll(element, dll))
Esempio n. 2
0
 def handle(self, element, module, clazz, handlers, listeners, override,
            log, dll):
     override = self.isTrue(override)
     if clazz:
         utils = BugUtil.callFunction(module, clazz)
         element.setState("gameutils", utils)
         if handlers or listeners:
             if handlers:
                 for handler in handlers.replace(",", " ").split():
                     addHandler(BugUtil.bindFunction(utils, handler),
                                override, log)
             if listeners:
                 for listener in listeners.replace(",", " ").split():
                     func = None
                     if not listener.endswith("Listener"):
                         try:
                             func = BugUtil.bindFunction(
                                 utils, listener + "Listener")
                         except BugUtil.ConfigError:
                             pass
                     if not func:
                         try:
                             func = BugUtil.bindFunction(utils, listener)
                         except BugUtil.ConfigError:
                             raise BugUtil.ConfigError(
                                 "Game utils %s.%s must define function %s or %s",
                                 module, clazz, listener,
                                 listener + "Listener")
                     addListener(func, log)
         else:
             addClassUtils(utils, override, log)
     else:
         if handlers or listeners:
             if handlers:
                 for handler in handlers.replace(",", " ").split():
                     addHandler(BugUtil.lookupFunction(module, handler),
                                override, log)
             if listeners:
                 for listener in listeners.replace(",", " ").split():
                     addListener(BugUtil.lookupFunction(module, listener),
                                 log)
         else:
             addModuleUtils(BugUtil.lookupModule(module), override, log)
Esempio n. 3
0
	def handle(self, element, module, clazz, handlers, listeners, override, log, dll):
		override = self.isTrue(override)
		dll = BugDll.decode(dll)
		if self.isDllOkay(element, dll):
			if clazz:
				utils = BugUtil.callFunction(module, clazz)
				element.setState("gameutils", utils)
				if handlers or listeners:
					if handlers:
						for handler in handlers.replace(",", " ").split():
							addHandler(BugUtil.bindFunction(utils, handler), override, log)
					if listeners:
						for listener in listeners.replace(",", " ").split():
							func = None
							if not listener.endswith(LISTENER_SUFFIX):
								try:
									func = BugUtil.bindFunction(utils, listener + LISTENER_SUFFIX)
								except BugUtil.ConfigError:
									pass
							if not func:
								try:
									func = BugUtil.bindFunction(utils, listener)
								except BugUtil.ConfigError:
									raise BugUtil.ConfigError("Game utils %s.%s must define function %s or %s", 
											module, clazz, listener, listener + "Listener")
							addListener(func, log)
				else:
					addClassUtils(utils, override, log)
			else:
				if handlers or listeners:
					if handlers:
						for handler in handlers.replace(",", " ").split():
							addHandler(BugUtil.lookupFunction(module, handler), override, log)
					if listeners:
						for listener in listeners.replace(",", " ").split():
							addListener(BugUtil.lookupFunction(module, listener), log)
				else:
					addModuleUtils(BugUtil.lookupModule(module), override, log)
		else:
			BugUtil.info("BugGameUtils - ignoring <%s> %s.%s, requires dll version %s", element.tag, module, clazz, self.resolveDll(element, dll))