def handleKey(self, isDown, key, mods): if key == Keys.KEY_ESCAPE: if self.__keyHandlers: for handler in self.__keyHandlers[:]: if handler.handleEscKey(isDown): return True if isDown: handler = avatar_getter.getInputHandler() if handler is not None and handler.ctrlModeName != CTRL_MODE_NAME.MAP_CASE: event_dispatcher.showIngameMenu() event_dispatcher.toggleFullStats(False) return True elif key in (Keys.KEY_LCONTROL, Keys.KEY_RCONTROL): if not self.__consumers: avatar_getter.setForcedGuiControlMode(isDown) return True elif key == Keys.KEY_TAB and (mods != Keys.MODIFIER_CTRL or not isDown): event_dispatcher.toggleFullStats(isDown) return True elif key == Keys.KEY_TAB and mods == Keys.MODIFIER_CTRL and isDown: if not self.__consumers: event_dispatcher.setNextPlayerPanelMode() return True else: return False
def handleKey(self, isDown, key, mods): isEventBattle = self.guiSessionProvider.arenaVisitor.gui.isEventBattle() if key == Keys.KEY_ESCAPE: if self.__keyHandlers: for handler in self.__keyHandlers[:]: if handler.handleEscKey(isDown): return True if isDown and self.__ctrlModeName != CTRL_MODE_NAME.MAP_CASE: event_dispatcher.showIngameMenu() if isEventBattle: event_dispatcher.toggleEventStats(False) else: event_dispatcher.toggleFullStats(False) return True if isDown and CommandMapping.g_instance.isFired(CommandMapping.CMD_UPGRADE_PANEL_SHOW, key): event_dispatcher.hideBattleVehicleConfigurator() if key in (Keys.KEY_LCONTROL, Keys.KEY_RCONTROL): if not self.__consumers: avatar_getter.setForcedGuiControlMode(isDown, enableAiming=False) return True if key == Keys.KEY_TAB and (mods != Keys.MODIFIER_CTRL or not isDown): if isEventBattle: event_dispatcher.toggleEventStats(isDown) else: event_dispatcher.hideBattleVehicleConfigurator() event_dispatcher.toggleFullStats(isDown) return True if key == Keys.KEY_TAB and mods == Keys.MODIFIER_CTRL and isDown: if not self.__consumers: event_dispatcher.setNextPlayerPanelMode() return True return False
def _populate(self): super(MapsTrainingIngameHelpWindow, self)._populate() self.app.registerGuiKeyHandler(self) self.app.enterGuiControlMode(VIEW_ALIAS.INGAME_HELP, cursorVisible=True, enableAiming=False) avatar_getter.setForcedGuiControlMode(GUI_CTRL_MODE_FLAG.GUI_ENABLED, enableAiming=False) self.as_setDataS( [self.__getPageConfig(pageNum + 1) for pageNum in xrange(4)])
def enablePostMortem(base_enable, mode, **kwargs): if POSTMORTEM.PARAMS in kwargs: kwargs[POSTMORTEM.PARAMS] = (mode.camera.angles, cfg.arcade_camera[ARCADE.START_DEAD_DIST]) if not PostMortemControlMode.getIsPostmortemDelayEnabled(): if cfg.arcade_camera[POSTMORTEM.TRANSITION] and kwargs.get(POSTMORTEM.DURATION) is None: avatar_getter.setForcedGuiControlMode(True, cursorVisible=False) callback_time = max(POSTMORTEM.CALLBACK_TIME_SEC, cfg.arcade_camera[POSTMORTEM.DURATION]) kwargs[POSTMORTEM.DURATION] = callback_time callback(callback_time, lambda: avatar_getter.setForcedGuiControlMode(False)) return base_enable(mode, **kwargs)
def enterGuiControlMode(self, consumerID, cursorVisible=True, enableAiming=True): if consumerID not in self.__consumers: if not self.__consumers: avatar_getter.setForcedGuiControlMode( True, cursorVisible=cursorVisible, enableAiming=enableAiming) self.__consumers.append(consumerID)
def cursorVisibility(self, _, visible, x=None, y=None, customCall=False, enableAiming=True): if visible: g_cursorDelegator.syncMousePosition(self, x, y, customCall) else: g_cursorDelegator.restoreMousePosition() avatar_getter.setForcedGuiControlMode(visible, stopVehicle=False, enableAiming=enableAiming)
def __setAimingEnabled(self, isEnabled): if not isEnabled: self.__previousForcedGuiControlModeFlags = avatar_getter.getForcedGuiControlModeFlags( ) avatar_getter.setForcedGuiControlMode(True, stopVehicle=False, enableAiming=False, cursorVisible=False) elif self.__previousForcedGuiControlModeFlags is not None: stopVehicle = self.__previousForcedGuiControlModeFlags & GUI_CTRL_MODE_FLAG.MOVING_DISABLED > 0 enableAiming = self.__previousForcedGuiControlModeFlags & GUI_CTRL_MODE_FLAG.AIMING_ENABLED > 0 avatar_getter.setForcedGuiControlMode(False, stopVehicle, enableAiming, False) return
def setForcedGuiControlMode(self, flash, hold): flash.call('Cursor.Hold', [hold]) from gui.battle_control import avatar_getter avatar_getter.setForcedGuiControlMode(hold)
def leaveGuiControlMode(self, consumerID): if consumerID in self.__consumers: self.__consumers.remove(consumerID) if not self.__consumers: avatar_getter.setForcedGuiControlMode(False)
def enterGuiControlMode(self, consumerID, cursorVisible = True, enableAiming = True): if consumerID not in self.__consumers: if not self.__consumers: avatar_getter.setForcedGuiControlMode(True, cursorVisible=cursorVisible, enableAiming=enableAiming) self.__consumers.append(consumerID)
def keyEvent(self, key, isKeyDown): if key == MINIMAP.HOT_KEY: self.as_MinimapCenteredS(isKeyDown) avatar_getter.setForcedGuiControlMode(isKeyDown, cursorVisible=isKeyDown)
def _doPing(self, cellIdx): avatar_getter.setForcedGuiControlMode(True) g_sessionProvider.shared.chatCommands.sendAttentionToCell(cellIdx) avatar_getter.setForcedGuiControlMode(False)
def cursorVisibility(self, _, visible, x = None, y = None, customCall = False, enableAiming = True): if visible: g_cursorDelegator.syncMousePosition(self, x, y, customCall) else: g_cursorDelegator.restoreMousePosition() avatar_getter.setForcedGuiControlMode(visible, stopVehicle=False, enableAiming=enableAiming)