Example #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))
Example #2
0
	def handle(self, element, name, type, default, module, handler, listener, log, dll):
		utils = element.getState("gameutils")
		if utils:
			func = BugUtil.bindFunction(utils, handler)
			if listener:
				listenerFunc = BugUtil.bindFunction(utils, listener)
		elif not module:
			raise BugUtil.ConfigError("Element <%s> requires attribute module or be enclosed in <gameutils> that defines a class", element.tag)
		else:
			func = BugUtil.lookupFunction(module, handler)
			if listener:
				listenerFunc = BugUtil.lookupFunction(module, listener)
		createCallback(name, func, self.createValue(type, default), log)
		if listener:
			addNamedListener(name, listenerFunc, log)
Example #3
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)
Example #4
0
	def handle(self, element, name, type, default, module, handler, listener, log, dll):
		dll = BugDll.decode(dll)
		if self.isDllOkay(element, dll):
			utils = element.getState("gameutils")
			if utils:
				func = BugUtil.bindFunction(utils, handler)
				if listener:
					listenerFunc = BugUtil.bindFunction(utils, listener)
			elif not module:
				raise BugUtil.ConfigError("Element <%s> requires attribute module or be enclosed in <gameutils> that defines a class", element.tag)
			else:
				func = BugUtil.lookupFunction(module, handler)
				if listener:
					listenerFunc = BugUtil.lookupFunction(module, listener)
			createCallback(name, func, self.createValue(type, default), log)
			if listener:
				addNamedListener(name, listenerFunc, log)
		else:
			BugUtil.info("BugGameUtils - ignoring <%s> %s, requires dll version %s", element.tag, name, self.resolveDll(element, dll))
 def __init__(self, log=None):
     self._log = log
     self._callbacks = {}
     self._baseUtils = CvGameUtils.CvGameUtils()
     clazz = CvGameUtils.CvGameUtils
     for name, func in clazz.__dict__.iteritems():
         if not name.startswith("_") and isinstance(func,
                                                    types.FunctionType):
             self._createCallback(
                 name, BugUtil.bindFunction(self._baseUtils, name), None,
                 self._log)
	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))
Example #7
0
    def __init__(self, log=None):
        self._log = log
        self._callbacks = {}
        self._baseUtils = CvGameUtils.CvGameUtils()
        clazz = CvGameUtils.CvGameUtils
        for name, func in clazz.__dict__.iteritems():
            if not name.startswith("_") and isinstance(func,
                                                       types.FunctionType):
                self._createCallback(
                    name, BugUtil.bindFunction(self._baseUtils, name), None,
                    self._log)

        # setup defaults
        self._setDefault("createBarbarianUnits", False)
        self._setDefault("skipResearchPopup", False)
        self._setDefault("showTechChooserButton", True)
        self._setDefault("getFirstRecommendedTech", TechTypes.NO_TECH)
        self._setDefault("getSecondRecommendedTech", TechTypes.NO_TECH)
        self._setDefault("canRazeCity", True)
        self._setDefault("canDeclareWar", True)
        self._setDefault("skipProductionPopup", False)
        self._setDefault("showExamineCityButton", True)
        self._setDefault("getRecommendedUnit", UnitTypes.NO_UNIT)
        self._setDefault("getRecommendedBuilding", BuildingTypes.NO_BUILDING)
        self._setDefault("updateColoredPlots", False)
        self._setDefault("unitCannotMoveInto", False)
        self._setDefault("cannotFoundCity", False)
        self._setDefault("cannotSelectionListMove", False)
        self._setDefault("cannotSelectionListGameNetMessage", False)
        self._setDefault("cannotDoControl", False)
        self._setDefault("canDoCivic", False)
        self._setDefault("cannotDoCivic", False)
        self._setDefault("canTrain", False)
        self._setDefault("cannotTrain", False)
        self._setDefault("canConstruct", False)
        self._setDefault("cannotConstruct", False)
        self._setDefault("AI_unitUpdate", False)
        self._setDefault("doHolyCity", False)
        self._setDefault("doGoody", False)
        self._setDefault("doReligion", False)
        self._setDefault("cannotSpreadReligion", False)
        self._setDefault("doMeltdown", False)
        self._setDefault("doReviveActivePlayer", False)
        self._setDefault("canFoundCitiesOnWater", False)
        self._setDefault("doCombat", False)
        self._setDefault("getConscriptUnitType", UnitTypes.NO_UNIT)
        self._setDefault("canPickPlot", True)
        self._setDefault("canUpgradeAnywhere", False)
        self._setDefault("getWidgetHelp", u"")
Example #8
0
	def __init__(self, log=None):
		if log is None:
			self._log = DEFAULT_LOGGING
		else:
			self._log = log
		self._callbacks = {}
		self._baseUtils = CvGameUtils.CvGameUtils()
		clazz = CvGameUtils.CvGameUtils
		for name, func in clazz.__dict__.iteritems():
			if not name.startswith("_") and isinstance(func, types.FunctionType):
				self._createCallback(name, BugUtil.bindFunction(self._baseUtils, name), None, self._log)
		
		# setup defaults
		self._setDefault("isVictory", True)
		self._setDefault("isPlayerResearch", True)
		self._setDefault("getExtraCost", 0)
		self._setDefault("createBarbarianCities", False)
		self._setDefault("createBarbarianUnits", False)
		self._setDefault("skipResearchPopup", False)
		self._setDefault("showTechChooserButton", True)
		self._setDefault("getFirstRecommendedTech", TechTypes.NO_TECH)
		self._setDefault("getSecondRecommendedTech", TechTypes.NO_TECH)
		self._setDefault("canRazeCity", True)
		self._setDefault("canDeclareWar", True)
		self._setDefault("skipProductionPopup", False)
		self._setDefault("showExamineCityButton", True)
		self._setDefault("getRecommendedUnit", UnitTypes.NO_UNIT)
		self._setDefault("getRecommendedBuilding", BuildingTypes.NO_BUILDING)
		self._setDefault("updateColoredPlots", False)
		self._setDefault("isActionRecommended", False)
		self._setDefault("unitCannotMoveInto", False)
		self._setDefault("cannotHandleAction", False)
		self._setDefault("canBuild", -1)
		self._setDefault("cannotFoundCity", False)
		self._setDefault("cannotSelectionListMove", False)
		self._setDefault("cannotSelectionListGameNetMessage", False)
		self._setDefault("cannotDoControl", False)
		self._setDefault("canResearch", False)
		self._setDefault("cannotResearch", False)
		self._setDefault("canDoCivic", False)
		self._setDefault("cannotDoCivic", False)
		self._setDefault("canTrain", False)
		self._setDefault("cannotTrain", False)
		self._setDefault("canConstruct", False)
		self._setDefault("cannotConstruct", False)
		self._setDefault("canCreate", False)
		self._setDefault("cannotCreate", False)
		self._setDefault("canMaintain", False)
		self._setDefault("cannotMaintain", False)
		self._setDefault("AI_chooseTech", TechTypes.NO_TECH)
		self._setDefault("AI_chooseProduction", False)
		self._setDefault("AI_unitUpdate", False)
		self._setDefault("AI_doWar", False)
		self._setDefault("AI_doDiplo", False)
		self._setDefault("doHolyCity", False)
		self._setDefault("doHolyCityTech", False)
		self._setDefault("doGold", False)
		self._setDefault("doResearch", False)
		self._setDefault("doGoody", False)
		self._setDefault("doGrowth", False)
		self._setDefault("doProduction", False)
		self._setDefault("doCulture", False)
		self._setDefault("doPlotCulture", False)
		self._setDefault("doReligion", False)
		self._setDefault("cannotSpreadReligion", False)
		self._setDefault("doGreatPeople", False)
		self._setDefault("doMeltdown", False)
		self._setDefault("doReviveActivePlayer", False)
		self._setDefault("citiesDestroyFeatures", False) #FFP
		self._setDefault("canFoundCitiesOnWater", False)
		self._setDefault("doCombat", False)
		self._setDefault("getConscriptUnitType", UnitTypes.NO_UNIT)
		self._setDefault("getCityFoundValue", -1)
		self._setDefault("canPickPlot", True)
		self._setDefault("getUnitCostMod", -1)
		self._setDefault("getBuildingCostMod", -1)
		self._setDefault("canUpgradeAnywhere", False)
		self._setDefault("getWidgetHelp", u"")
		self._setDefault("getUpgradePriceOverride", -1)