def _detectCurrentScreen():
    global _isConnecting
    if Waiting.isVisible():
        BigWorld.callback(0.2, lambda : _detectCurrentScreen())
        return
    if g_windowsManager.window is None or g_windowsManager.window.containerManager is None:
        BigWorld.callback(0.2, lambda : _detectCurrentScreen())
        return
    dialogsContainer = g_windowsManager.window.containerManager.getContainer(ViewTypes.TOP_WINDOW)
    if dialogsContainer is not None:
        dialog = dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.EULA})
        if dialog is not None:
            dialog.onApply()
        dialog = dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: 'tGreetingDialog'})
        if dialog is not None:
            dialog.cancel()
    view = g_windowsManager.window.containerManager.getView(ViewTypes.DEFAULT)
    if view and view.settings.alias == VIEW_ALIAS.LOGIN and view._isCreated() and connectionManager.isDisconnected() and not _isConnecting:
        _isConnecting = True
        _connect()
        BigWorld.callback(0.2, lambda : _detectCurrentScreen())
        return
    view = g_windowsManager.window.containerManager.getView(ViewTypes.DEFAULT)
    if view is not None and view.settings.alias == 'lobby':
        if _justLogin:
            return
        subView = g_windowsManager.window.containerManager.getView(ViewTypes.LOBBY_SUB)
        if subView.settings.alias == 'hangar':
            _leaveDevRoom()
            BigWorld.callback(0.2, lambda : _detectCurrentScreen())
            return
        if subView.settings.alias == 'trainingRoom':
            _enterBattle()
            return
    BigWorld.callback(0.2, lambda : _detectCurrentScreen())
Beispiel #2
0
 def __onMouseEnter(self, entity):
     if Waiting.isVisible():
         return False
     if not self._filterEntity(entity):
         return False
     self.__selected3DEntity = entity
     self.__highlight3DEntity(entity)
     return True
Beispiel #3
0
 def setIsViewReadyAfterWheelFinish(self):
     if Waiting.isVisible():
         self.__callbackId = BigWorld.callback(
             0.1, self.setIsViewReadyAfterWheelFinish)
     else:
         self.__callbackId = None
         self.viewModel.setIsViewReady(True)
     return
Beispiel #4
0
 def __checkToSkipUpdate(self):
     if self.__isForcedDisabled:
         return True
     if not self.__camera or self.__camera != BigWorld.camera():
         return True
     if self.__isInIdle:
         return True
     if Waiting.isVisible():
         return True
     return True if not self.__isWindowAccessible else False
Beispiel #5
0
 def __update(self):
     isUpdateSkipped = Waiting.isVisible()
     if isUpdateSkipped or self.__wasPreviousUpdateSkipped:
         self.__wasPreviousUpdateSkipped = isUpdateSkipped
         self.measureDeltaTime()
         return 0.0
     self.__curTime += self.measureDeltaTime() / self.cameraUpcomingDuration
     isCameraDone = self.__curTime >= 1.0
     if isCameraDone:
         self._finishCameraMovement()
     else:
         self.__updateCameraLocation()
         return 0.0
 def _on3DObjectMouseEnter(self, entity):
     if Waiting.isVisible():
         return
     else:
         self.__selected3DEntity = entity
         if not self.hangarSpace.isCursorOver3DScene:
             return
         if entity is None:
             return
         self._highlight3DEntityAndShowTT(entity)
         if entity.mouseOverSoundName:
             SoundGroups.g_instance.playSound3D(entity.model.root,
                                                entity.mouseOverSoundName)
         return
 def __checkToSkipUpdate(self):
     if not self.__camera or self.__camera != BigWorld.camera():
         return True
     if self.__isInIdle:
         return True
     if Waiting.isVisible():
         return True
     if not self.__isWindowAccessible:
         return True
     currentYaw = Math.Matrix(self.__camera.invViewMatrix).yaw
     currentPitch = Math.Matrix(self.__camera.invViewMatrix).pitch
     goalYaw = Math.Matrix(self.__camera.source).yaw
     goalPitch = -Math.Matrix(self.__camera.source).pitch
     return True if abs(goalYaw - currentYaw) > 0.001 or abs(goalPitch - currentPitch) > 0.001 else False
Beispiel #8
0
 def doLogin(self, userName, password, serverName, isSocialToken2Login):
     if Waiting.isVisible():
         return False
     result = self.__validateCredentials(userName.lower().strip(),
                                         password.strip(), self.isToken2())
     if result.isValid:
         if not Waiting.isOpened('login'):
             Waiting.show('login')
         self._loginManager.initiateLogin(
             userName, password, serverName, isSocialToken2Login,
             isSocialToken2Login or self._rememberUser)
     else:
         self._view.as_setErrorMessageS(result.errorMessage,
                                        result.invalidFields)
     return True
Beispiel #9
0
def _detectCurrentScreen():
    global _isConnecting
    if Waiting.isVisible():
        BigWorld.callback(0.2, _detectCurrentScreen)
        return
    else:
        lobby = _getLobby()
        if lobby is None or lobby.containerManager is None:
            BigWorld.callback(0.2, _detectCurrentScreen)
            return
        dialogsContainer = lobby.containerManager.getContainer(
            WindowLayer.TOP_WINDOW)
        if dialogsContainer is not None:
            dialog = dialogsContainer.getView(
                criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.EULA})
            if dialog is not None:
                dialog.onApply()
            dialog = dialogsContainer.getView(
                criteria={POP_UP_CRITERIA.VIEW_ALIAS: 'tGreetingDialog'})
            if dialog is not None:
                dialog.cancel()
        view = lobby.containerManager.getView(WindowLayer.VIEW)
        connectionMgr = dependency.instance(IConnectionManager)
        if view and view.alias == VIEW_ALIAS.LOGIN and view.isCreated(
        ) and connectionMgr.isDisconnected() and not _isConnecting:
            _isConnecting = True
            _connect()
            BigWorld.callback(0.2, _detectCurrentScreen)
            return
        view = lobby.containerManager.getView(WindowLayer.VIEW)
        if view is not None and view.alias == 'lobby':
            if _justLogin:
                return
            subView = lobby.containerManager.getView(WindowLayer.SUB_VIEW)
            if subView.alias == 'hangar':
                _leaveDevRoom()
                BigWorld.callback(0.2, _detectCurrentScreen)
                return
            if subView.alias == 'trainingRoom':
                _enterBattle()
                return
        BigWorld.callback(0.2, _detectCurrentScreen)
        return
 def hideWaiting(self, messageID):
     if Waiting.isVisible():
         Waiting.hide('tutorial-{0:>s}'.format(messageID))
 def getSceneID(self):
     result = None
     if not Waiting.isVisible():
         guiPage = self.uiHolder.currentInterface
         result = self.config.getSceneID(guiPage)
     return result
Beispiel #12
0
 def __setHangarReady(self):
     if Waiting.isVisible():
         BigWorld.callback(0.1, self.__setHangarReady)
     else:
         self.viewModel.setHangarReady(True)
Beispiel #13
0
 def hideWaiting(self, messageID):
     if Waiting.isVisible():
         Waiting.hide('tutorial-{0:>s}'.format(messageID))
Beispiel #14
0
 def getSceneID(self):
     result = None
     if not Waiting.isVisible():
         guiPage = self.uiHolder.currentInterface
         result = self.config.getSceneID(guiPage)
     return result
 def __call__(self, account, ob, **kw):
     adaptedOB = super(IWaitingScreenAdapter,
                       self).__call__(account, ob, **kw)
     adaptedOB['isVisible'] = Waiting.isVisible()
     return adaptedOB