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))
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)
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)
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))
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"")
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)