def getLogDictAndSettings(self, eventType): if eventType == EV_ID.PLAYER_DAMAGED_HP_ENEMY: return self.damage_log, self.settings.log_damage_extended elif eventType == EV_ID.ENEMY_DAMAGED_HP_PLAYER: return self.input_log, self.settings.log_input_extended logWarning(DAMAGE_LOG.WARNING_MESSAGE) raise ValueError("eventType %s NOT FOUND")
def isLogEnabled(self, eventType): if eventType == EV_ID.PLAYER_DAMAGED_HP_ENEMY: return self.settings.log_damage_extended[GLOBAL.ENABLED] elif eventType == EV_ID.ENEMY_DAMAGED_HP_PLAYER: return self.settings.log_input_extended[GLOBAL.ENABLED] logWarning(DAMAGE_LOG.WARNING_MESSAGE) return False
def start(self): for moduleName in self.modules: path = "{}.{}".format(__package__, moduleName) if path in sys.modules or self.modules[moduleName] is not None: logWarning("{} module already loaded".format(path)) else: try: self.modules[moduleName] = __import__(path) except ImportError: LOG_CURRENT_EXCEPTION()
def getViewSettings(): settings = [] for alias, enable in getComponents(): try: class_name = alias.split("_")[1] module_class = getattr( import_module(".date_times", package=__package__), class_name) settings.append( ComponentSettings(alias, module_class, ScopeTemplates.DEFAULT_SCOPE)) except Exception as err: logWarning("{}, {}, {}".format(__package__, alias, repr(err))) return settings
def start(self): self.addModificationToModList() for blockID in CONFIG_INTERFACE.BLOCK_IDS: if blockID in self.inited: continue try: self.vxSettingsApi.addMod(MOD_NAME, blockID, lambda *args: self.getTemplate(blockID), dict(), lambda *args: None, button_handler=self.onButtonPress) except Exception as err: logWarning('ConfigInterface startLoad {}'.format(repr(err))) LOG_CURRENT_EXCEPTION(tags=["%s" % MOD_NAME]) else: self.inited.add(blockID)
def loadHangarSettings(self, spaceID): if spaceID == GuiGlobalSpaceID.LOGIN: ServicesLocator.appLoader.onGUISpaceEntered -= self.loadHangarSettings try: from gui.modsListApi import g_modsListApi from gui.vxSettingsApi import vxSettingsApi, vxSettingsApiEvents except ImportError as err: logWarning("%s: Settings API not loaded" % repr(err)) else: from armagomen.battle_observer.settings.hangar.hangar_settings import ConfigInterface self.configInterface = ConfigInterface(g_modsListApi, vxSettingsApi, vxSettingsApiEvents, self.settings, self) self.configInterface.start()
def getViewSettings(): settings = [] for alias in SORTED_ALIASES: if view_settings.getSetting(alias): try: class_name = alias.split("_")[GLOBAL.ONE] file_name = ALIAS_TO_PATH.get(alias) module_class = getattr( import_module(file_name, package=__package__), class_name) settings.append( ComponentSettings(alias, module_class, ScopeTemplates.DEFAULT_SCOPE)) _GAME_UI.add(alias) _SPECTATOR_UI.add(alias) except Exception as err: logWarning("{}, {}, {}".format(__package__, alias, repr(err))) return settings
def start(self): if self.isFileValid: logInfo('MOD {0}: {1}'.format(MESSAGES.START, self.mod_version)) self.componentsLoader.start() self.configLoader.start() packages.BATTLE_PACKAGES += ("armagomen.battle_observer.battle", ) packages.LOBBY_PACKAGES += ("armagomen.battle_observer.lobby", ) else: from gui.Scaleform.daapi.view import dialogs from gui import DialogsInterface locked = MESSAGES.LOCKED_BY_FILE_NAME.format(self.fileName) logWarning(locked) def loadBlocked(spaceID): if spaceID in (GuiGlobalSpaceID.LOGIN, GuiGlobalSpaceID.LOBBY): title = '{0} is locked'.format(MOD_NAME) btn = DialogButtons('Close') DialogsInterface.showDialog( dialogs.SimpleDialogMeta(title, locked, btn), lambda proceed: None) ServicesLocator.appLoader.onGUISpaceEntered -= loadBlocked ServicesLocator.appLoader.onGUISpaceEntered += loadBlocked
def readConfig(self, configName): """Read settings_core file from JSON""" direct_path = os.path.join(self.path, configName) logInfo('START UPDATE USER CONFIGURATION: {}'.format(configName)) file_list = ['{}.json'.format(name) for name in LOAD_LIST] listdir = os.listdir(direct_path) for num, module_name in enumerate(LOAD_LIST, GLOBAL.ZERO): file_name = file_list[num] file_path = os.path.join(direct_path, file_name) internal_cfg = getattr(self.settings, module_name) if file_name in listdir: try: if self.updateData(self.getFileData(file_path), internal_cfg): self.createFileInDir(file_path, internal_cfg) except Exception as error: self.loadError(file_path, error.message) logWarning('readConfig: {} {}'.format(file_name, repr(error))) continue else: self.createFileInDir(file_path, internal_cfg) self.settings.onModSettingsChanged(internal_cfg, module_name) logInfo('CONFIGURATION UPDATE COMPLETED: {}'.format(configName)) if self.configInterface is not None: self.configInterface.onUserConfigUpdateComplete()