def __centerMapBasedOnMode(self):
     newEntryID = self.__savedEntry
     if self._isInPostmortemMode():
         iah = avatar_getter.getInputHandler()
         if iah and iah.ctrls[
                 CTRL_MODE_NAME.
                 POSTMORTEM].altTargetMode == CTRL_MODE_NAME.DEATH_FREE_CAM:
             newEntryID = self._getViewPointID()
         else:
             newEntryID = self._getDeadPointID()
         self.__mode = CTRL_MODE_NAME.POSTMORTEM
     elif self._isInStrategicMode():
         newEntryID = self._getCameraIDs()[_S_NAME.STRATEGIC_CAMERA]
         self.__mode = CTRL_MODE_NAME.STRATEGIC
     elif self._isInArcadeMode():
         newEntryID = self._getViewPointID()
         self.__mode = CTRL_MODE_NAME.ARCADE
     elif self._isInVideoMode():
         newEntryID = self._getCameraIDs()[_S_NAME.VIDEO_CAMERA]
         self.__mode = CTRL_MODE_NAME.DEATH_FREE_CAM
     else:
         newEntryID = self._getViewPointID()
         self.__mode = None
     if self.__savedEntry != newEntryID:
         self._parentObj.setMinimapCenterEntry(newEntryID)
         self.__savedEntry = newEntryID
     return
Esempio n. 2
0
    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
Esempio n. 3
0
    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 _getPostmortemCenterEntry(self):
     iah = avatar_getter.getInputHandler()
     if iah and iah.ctrls[CTRL_MODE_NAME.POSTMORTEM].altTargetMode == CTRL_MODE_NAME.DEATH_FREE_CAM:
         newEntryID = self._getViewPointID()
     else:
         newEntryID = self._getDeadPointID()
     return newEntryID
 def onExitBattlePage(self):
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged -= self.onCameraChanged
     events.onArmorChanged -= self.onArmorChanged
     events.onMarkerColorChanged -= self.onMarkerColorChanged
     super(ArmorCalculator, self).onExitBattlePage()
 def setAttentionToCell(self, x, y, isRightClick):
     finalPos = self._getPositionFromClick(x, y)
     if isRightClick:
         handler = avatar_getter.getInputHandler()
         if handler is not None:
             handler.onMinimapClicked(finalPos)
     else:
         commands = self.sessionProvider.shared.chatCommands
         hqIdx = self.__getNearestHQForPosition(finalPos, 30)
         baseIdx, baseName = self.__getNearestBaseForPosition(finalPos, 30)
         if not hqIdx and not baseIdx:
             if commands is not None:
                 commands.sendAttentionToPosition(
                     Math.Vector3(int(finalPos.x), int(finalPos.y),
                                  int(finalPos.z)))
         elif hqIdx:
             if commands is not None:
                 commands.sendAttentionToObjective(
                     hqIdx,
                     self._arenaDP.getNumberOfTeam() ==
                     EPIC_BATTLE_TEAM_ID.TEAM_ATTACKER)
         elif baseIdx:
             if commands is not None:
                 commands.sendAttentionToBase(
                     baseIdx, baseName,
                     self._arenaDP.getNumberOfTeam() ==
                     EPIC_BATTLE_TEAM_ID.TEAM_ATTACKER)
     return
Esempio n. 7
0
    def stop(self):
        self.__removeMarkerCallbacks()
        while self._markers:
            _, marker = self._markers.popitem()
            marker.destroy()

        while self._markerTimers:
            _, timers = self._markerTimers.popitem()
            while timers:
                _, timer = timers.popitem()
                timer.clear()

        self._markerTimers.clear()
        handler = avatar_getter.getInputHandler()
        if handler is not None:
            if isinstance(handler, AvatarInputHandler):
                handler.onCameraChanged -= self.__onCameraChanged
        ctrl = self.sessionProvider.shared.feedback
        if ctrl is not None:
            ctrl.onVehicleMarkerAdded -= self.__onVehicleMarkerAdded
            ctrl.onVehicleMarkerRemoved -= self.__onVehicleMarkerRemoved
            ctrl.onVehicleFeedbackReceived -= self._onVehicleFeedbackReceived
            ctrl.setInFocusForPlayer -= self.__setInFocusForPlayer
            ctrl.onRemoveCommandReceived -= self.__onRemoveCommandReceived
        vStateCtrl = self.sessionProvider.shared.vehicleState
        if vStateCtrl is not None:
            vStateCtrl.onVehicleStateUpdated -= self._onVehicleStateUpdated
        arena = avatar_getter.getArena()
        if arena is not None:
            arena.onChatCommandTargetUpdate -= self._onChatCommandTargetUpdate
        g_messengerEvents.voip.onPlayerSpeaking -= self.__onPlayerSpeaking
        g_playerEvents.onTeamChanged -= self.__onTeamChanged
        self.settingsCore.onSettingsChanged -= self.__onSettingsChanged
        super(VehicleMarkerPlugin, self).stop()
        return
    def setViewComponents(self, component):
        self.__damageIndicatorExtType = bool(
            self.settingsCore.getSetting(DAMAGE_INDICATOR.TYPE))
        self.__damageIndicatorCrits = bool(
            self.settingsCore.getSetting(DAMAGE_INDICATOR.PRESET_CRITS))
        self.__damageIndicatorAllies = bool(
            self.settingsCore.getSetting(DAMAGE_INDICATOR.PRESET_ALLIES))
        self.__ui = component
        self.__ui.invalidateSettings()
        self.__ui.setVisible(self.__isVisible)
        proxy = weakref.proxy(self.__ui)
        handler = avatar_getter.getInputHandler()
        if handler is not None:
            from AvatarInputHandler import AvatarInputHandler
            if isinstance(handler, AvatarInputHandler):
                handler.onPostmortemKillerVisionEnter += self.__onPostmortemKillerVision
        ctrl = self.sessionProvider.shared.vehicleState
        if ctrl is not None:
            ctrl.onVehicleControlling += self.__onVehicleControlling
        for hit in self.__pull:
            idx = hit.getIndex()
            duration = hit.setIndicator(proxy)
            if duration:
                self.__callbackIDs[idx] = BigWorld.callback(
                    duration, partial(self.__tickToHideHit, idx))

        return
Esempio n. 9
0
 def start(self):
     super(VehicleMarkerPlugin, self).start()
     self._playerVehicleID = self.sessionProvider.getArenaDP().getPlayerVehicleID()
     self.sessionProvider.addArenaCtrl(self)
     settingsDamageIcon = self.settingsCore.getSetting(GAME.SHOW_DAMAGE_ICON)
     isInBootcamp = self.bootcamp.isInBootcamp()
     enableInBootcamp = isInBootcamp and self.bootcamp.isEnableDamageIcon()
     self.__showDamageIcon = settingsDamageIcon and (not isInBootcamp or enableInBootcamp)
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
     ctrl = self.sessionProvider.shared.feedback
     if ctrl is not None:
         ctrl.onVehicleMarkerAdded += self.__onVehicleMarkerAdded
         ctrl.onVehicleMarkerRemoved += self.__onVehicleMarkerRemoved
         ctrl.onVehicleFeedbackReceived += self._onVehicleFeedbackReceived
         ctrl.setInFocusForPlayer += self.__setInFocusForPlayer
         ctrl.onRemoveCommandReceived += self.__onRemoveCommandReceived
     vStateCtrl = self.sessionProvider.shared.vehicleState
     if vStateCtrl is not None:
         vStateCtrl.onVehicleStateUpdated += self.__onVehicleStateUpdated
     arena = avatar_getter.getArena()
     if arena is not None:
         arena.onChatCommandTargetUpdate += self._onChatCommandTargetUpdate
     self.__equipmentCtrl = self.sessionProvider.shared.equipments
     g_messengerEvents.voip.onPlayerSpeaking += self.__onPlayerSpeaking
     g_playerEvents.onTeamChanged += self.__onTeamChanged
     self.settingsCore.onSettingsChanged += self.__onSettingsChanged
     return
Esempio n. 10
0
 def onExitBattlePage(self):
     feedback = self.sessionProvider.shared.feedback
     if feedback:
         feedback.onPlayerFeedbackReceived -= self.__onPlayerFeedbackReceived
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged += self.onCameraChanged
     super(MainGun, self).onExitBattlePage()
Esempio n. 11
0
 def stop(self):
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged -= self.__onCameraChanged
         handler.onPostmortemVehicleChanged -= self.__onPostmortemVehicleChanged
     g_settingsCore.onSettingsChanged -= self.__onSettingsChanged
     super(MinimapPluginsCollection, self).stop()
     return
Esempio n. 12
0
 def stop(self):
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged -= self.__onCameraChanged
         handler.onPostmortemVehicleChanged -= self.__onPostmortemVehicleChanged
     g_settingsCore.onSettingsChanged -= self.__onSettingsChanged
     super(MinimapPluginsCollection, self).stop()
     return
Esempio n. 13
0
 def __unsubscribe(self):
     vStateCtrl = self.sessionProvider.shared.vehicleState
     if vStateCtrl is not None:
         vStateCtrl.onVehicleStateUpdated -= self.__onVehicleStateUpdated
     aih = avatar_getter.getInputHandler()
     if aih is not None:
         aih.onCameraChanged -= self.__onCameraChanged
     return
Esempio n. 14
0
 def onExitBattlePage(self):
     if self.showOnCurrentTank():
         if self.shared.crosshair:
             self.shared.crosshair.onGunMarkerStateChanged -= self.__onGunMarkerStateChanged
         handler = avatar_getter.getInputHandler()
         if handler is not None:
             handler.onCameraChanged += self.onCameraChanged
     super(FlightTime, self).onExitBattlePage()
Esempio n. 15
0
def isAutoRotationOn(vDesc):
    isOn = None
    if hasYawLimits(vDesc):
        aih = avatar_getter.getInputHandler()
        isOn = False
        if aih is not None:
            isOn = aih.getAutorotation()
    return isOn
Esempio n. 16
0
 def stop(self):
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged -= self.__onCameraChanged
     self.settingsCore.onSettingsChanged -= self.__onSettingsChanged
     super(MinimapPluginsCollection, self).stop()
     return
Esempio n. 17
0
def isAutoRotationOn(vDesc):
    isOn = None
    if hasYawLimits(vDesc):
        aih = avatar_getter.getInputHandler()
        isOn = False
        if aih is not None:
            isOn = aih.getAutorotation()
    return isOn
Esempio n. 18
0
def getAutoRotationFlag(vDesc):
    flag = AUTO_ROTATION_FLAG.IGNORE_IN_UI
    if hasYawLimits(vDesc):
        aih = avatar_getter.getInputHandler()
        if aih is None or aih.getAutorotation():
            flag = AUTO_ROTATION_FLAG.TURN_ON
        else:
            flag = AUTO_ROTATION_FLAG.TURN_OFF
    return flag
Esempio n. 19
0
 def __setRecoveryActive(self, values):
     isActivated, duration, endOfTimer = values
     if isActivated and avatar_getter.getInputHandler(
     ).ctrlModeName not in (CTRL_MODE_NAME.POSTMORTEM,
                            CTRL_MODE_NAME.DEATH_FREE_CAM):
         self._showTimer(BATTLE_NOTIFICATIONS_TIMER_TYPES.RECOVERY,
                         duration, 'critical', endOfTimer)
     else:
         self._hideTimer(BATTLE_NOTIFICATIONS_TIMER_TYPES.RECOVERY)
Esempio n. 20
0
 def switchToPlayer(self, vehicleID):
     handler = avatar_getter.getInputHandler()
     modeName = handler.ctrlModeName if handler is not None else ''
     arenaDP = self.__sessionProvider.getArenaDP()
     vehInfo = arenaDP.getVehicleInfo(vehicleID)
     if vehInfo.isAlive() and modeName != CTRL_MODE_NAME.VIDEO:
         if handler.isControlModeChangeAllowed():
             self.__sessionProvider.shared.viewPoints.selectVehicle(
                 vehicleID)
     return
Esempio n. 21
0
 def start(self):
     super(MinimapPluginsCollection, self).start()
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged += self.__onCameraChanged
         handler.onPostmortemVehicleChanged += self.__onPostmortemVehicleChanged
         self._invoke('initControlMode', handler.ctrlModeName, handler.ctrls.keys())
     g_settingsCore.onSettingsChanged += self.__onSettingsChanged
     self._invoke('setSettings')
     return
Esempio n. 22
0
 def start(self):
     super(MinimapPluginsCollection, self).start()
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
         self._invoke('initControlMode', handler.ctrlModeName, handler.ctrls.keys())
     self.settingsCore.onSettingsChanged += self.__onSettingsChanged
     self._invoke('setSettings')
     return
Esempio n. 23
0
 def start(self):
     super(MinimapPluginsCollection, self).start()
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged += self.__onCameraChanged
         handler.onPostmortemVehicleChanged += self.__onPostmortemVehicleChanged
         self._invoke('initControlMode', handler.ctrlModeName, handler.ctrls.keys())
     g_settingsCore.onSettingsChanged += self.__onSettingsChanged
     self._invoke('setSettings')
     return
 def __init__(self, updateCallback):
     super(_VehicleStateSN, self).__init__(updateCallback)
     ctrl = self._sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated += self.__onVehicleStateUpdated
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
     return
Esempio n. 25
0
 def __doUpdateSmokePostEffect():
     aih = avatar_getter.getInputHandler()
     avatar = BigWorld.player()
     if avatar is None or aih is None or aih.ctrlModeName == CTRL_MODE_NAME.DEATH_FREE_CAM:
         SmokeScreen.enableSmokePostEffect(enabled=False)
     else:
         smokeInfos = avatar.lastSmokeInfos
         SmokeScreen.enableSmokePostEffect(enabled=bool(smokeInfos),
                                           smokeInfos=smokeInfos)
     return
 def destroy(self):
     ctrl = self._sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated -= self.__onVehicleStateUpdated
         ctrl.onVehicleControlling -= self.__onVehicleControlling
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged -= self.__onCameraChanged
     super(_VehicleStateSN, self).destroy()
     return
Esempio n. 27
0
 def setAttentionToCell(self, x, y, isRightClick):
     if isRightClick:
         handler = avatar_getter.getInputHandler()
         if handler is not None:
             matrix = minimap_utils.makePointMatrixByLocal(x, y, *self._boundingBox)
             handler.onMinimapClicked(matrix.translation)
     else:
         commands = g_sessionProvider.shared.chatCommands
         if commands is not None:
             commands.sendAttentionToCell(minimap_utils.makeCellIndex(x, y))
     return
 def _dispose(self):
     ctrl = g_sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated -= self.__onVehicleStateUpdated
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged -= self.__onCameraChanged
     self.__timers.clear()
     self.__mapping.clear()
     self.__stopSound()
     super(DestroyTimersPanel, self)._dispose()
     return
Esempio n. 29
0
 def setAttentionToCell(self, x, y, isRightClick):
     if isRightClick:
         handler = avatar_getter.getInputHandler()
         if handler is not None:
             matrix = minimap_utils.makePointMatrixByLocal(
                 x, y, *self._boundingBox)
             handler.onMinimapClicked(matrix.translation)
     else:
         commands = self.sessionProvider.shared.chatCommands
         if commands is not None:
             commands.sendAttentionToCell(minimap_utils.makeCellIndex(x, y))
     return
 def _dispose(self):
     ctrl = g_sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated -= self.__onVehicleStateUpdated
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         handler.onCameraChanged -= self.__onCameraChanged
     self.__timers.clear()
     self.__mapping.clear()
     self.__stopSound()
     super(DestroyTimersPanel, self)._dispose()
     return
def getAutoRotationFlag(vDesc):
    """ Gets auto rotation flag. Auto rotation means hull is tuned if yaw limit is reached.
    :param vDesc: instance of vehicles.VehicleDescr.
    :return: one of AUTO_ROTATION_FLAG.*.
    """
    flag = AUTO_ROTATION_FLAG.IGNORE_IN_UI
    if hasYawLimits(vDesc):
        aih = avatar_getter.getInputHandler()
        if aih is None or aih.getAutorotation():
            flag = AUTO_ROTATION_FLAG.TURN_ON
        else:
            flag = AUTO_ROTATION_FLAG.TURN_OFF
    return flag
Esempio n. 32
0
def getAutoRotationFlag(vDesc):
    """ Gets auto rotation flag. Auto rotation means hull is tuned if yaw limit is reached.
    :param vDesc: instance of vehicles.VehicleDescr.
    :return: one of AUTO_ROTATION_FLAG.*.
    """
    flag = AUTO_ROTATION_FLAG.IGNORE_IN_UI
    if hasYawLimits(vDesc):
        aih = avatar_getter.getInputHandler()
        if aih is None or aih.getAutorotation():
            flag = AUTO_ROTATION_FLAG.TURN_ON
        else:
            flag = AUTO_ROTATION_FLAG.TURN_OFF
    return flag
def makeArtyAimPointMatrix():
    provider = Math.WGCombinedMP()
    rotationMatrix = Math.WGStrategicAreaViewMP()
    rotationMatrix.source = BigWorld.camera().invViewMatrix
    rotationMatrix.baseScale = (1.0, 1.0)
    handler = getInputHandler()
    if handler is not None:
        translationMatrix = handler.ctrl.camera.aimingSystem.aimMatrix
    else:
        translationMatrix = Math.Matrix()
    provider.translationSrc = translationMatrix
    provider.rotationSrc = rotationMatrix
    return provider
Esempio n. 34
0
 def _showDeathZoneTimer(self, value):
     if BigWorld.player(
     ).team == EPIC_BATTLE_TEAM_ID.TEAM_DEFENDER and not value[
             4] and avatar_getter.getInputHandler(
             ).ctrlModeName != CTRL_MODE_NAME.POSTMORTEM:
         if self.__delayedCB is not None:
             BigWorld.cancelCallback(self.__delayedCB)
         self.__delayedCB = BigWorld.callback(
             _LEAVE_ZONE_DEFENDER_DELAY,
             partial(self.__displayDeathZoneTimer, value[0:4]))
     else:
         self.__displayDeathZoneTimer(value[0:4])
     return
Esempio n. 35
0
 def __init__(self, updateCallback):
     super(_VehicleStateSN, self).__init__(updateCallback)
     ctrl = self._sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated += self.__onVehicleStateUpdated
         contextID = self._getEquipmentName()
         if contextID:
             ctrl.onEquipmentComponentUpdated.subscribe(self.__onEquipmentComponentUpdated, contextID)
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
     return
Esempio n. 36
0
 def sendReloadingCommand(self):
     if not avatar_getter.isPlayerOnArena():
         return
     inputHandler = avatar_getter.getInputHandler()
     if not inputHandler:
         return
     aim = inputHandler.aim
     if not aim:
         return
     command = self.proto.battleCmd.create4Reload(aim.isCasseteClip(), math.ceil(aim.getReloadingTimeLeft()), aim.getAmmoQuantityLeft())
     if command:
         self.__sendChatCommand(command)
     else:
         LOG_ERROR('Can not create reloading command')
 def _populate(self):
     super(DamageInfoPanel, self)._populate()
     feedback = self.sessionProvider.shared.feedback
     if feedback is not None:
         feedback.onVehicleFeedbackReceived += self.__onVehicleFeedbackReceived
     vehicleState = self.sessionProvider.shared.vehicleState
     if vehicleState is not None:
         vehicleState.onPostMortemSwitched += self.__onPostMortemSwitched
         vehicleState.onVehicleControlling += self.__onVehicleControlling
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
     return
Esempio n. 38
0
 def _populate(self):
     super(DestroyTimersPanel, self)._populate()
     handler = avatar_getter.getInputHandler()
     if handler is not None:
         if isinstance(handler, AvatarInputHandler):
             handler.onCameraChanged += self.__onCameraChanged
     ctrl = self.sessionProvider.shared.vehicleState
     if ctrl is not None:
         ctrl.onVehicleStateUpdated += self._onVehicleStateUpdated
         ctrl.onVehicleControlling += self.__onVehicleControlling
         vehicle = ctrl.getControllingVehicle()
         if vehicle is not None:
             self.__onVehicleControlling(vehicle)
     return
Esempio n. 39
0
 def __onCrosshairPositionChanged(self, x, y):
     if not self.__ui:
         return
     else:
         inputHandler = avatar_getter.getInputHandler()
         if inputHandler is None:
             return
         mode = inputHandler.ctrlModeName
         if mode not in _AIM_MODE_TO_RADIUS:
             LOG_ERROR("Value of radius is not defined", mode)
             return
         radius = _AIM_MODE_TO_RADIUS[mode]
         bounds = [x - radius, y - radius, x + radius, y + radius]
         self.__ui.call("battle.aimVisibleSizeChanged", bounds)
         return
    def _populate(self):
        super(DestroyTimersPanel, self)._populate()
        ctrl = g_sessionProvider.shared.vehicleState
        if ctrl is not None:
            ctrl.onVehicleStateUpdated += self.__onVehicleStateUpdated
            checkStatesIDs = (VEHICLE_VIEW_STATE.FIRE, VEHICLE_VIEW_STATE.SHOW_DESTROY_TIMER, VEHICLE_VIEW_STATE.SHOW_DEATHZONE_TIMER)
            for stateID in checkStatesIDs:
                stateValue = ctrl.getStateValue(stateID)
                if stateValue:
                    self.__onVehicleStateUpdated(stateID, stateValue)

        handler = avatar_getter.getInputHandler()
        if handler is not None:
            handler.onCameraChanged += self.__onCameraChanged
        return