Example #1
0
 def _populate(self):
     super(Trainings, self)._populate()
     self.__requester = TrainingListRequester()
     self.__requester.start(self.__onTrainingsListReceived)
     MusicController.g_musicController.play(
         MusicController.MUSIC_EVENT_LOBBY)
     MusicController.g_musicController.play(
         MusicController.AMBIENT_EVENT_LOBBY)
Example #2
0
class Trainings(LobbySubView, TrainingFormMeta):

    def __init__(self):
        super(Trainings, self).__init__()
        self.app.component.wg_inputKeyMode = 1
        self.__requester = None
        return

    def _populate(self):
        super(Trainings, self)._populate()
        self.__requester = TrainingListRequester()
        self.__requester.start(self.__onTrainingsListReceived)
        MusicController.g_musicController.play(MusicController.MUSIC_EVENT_LOBBY)
        MusicController.g_musicController.play(MusicController.AMBIENT_EVENT_LOBBY)

    def _dispose(self):
        if self.__requester is not None:
            self.__requester.stop()
            self.__requester = None
        window = self.app.containerManager.getView(VIEW_TYPE.WINDOW, criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.TRAINING_SETTINGS_WINDOW})
        if window is not None:
            window.destroy()
        super(Trainings, self)._dispose()
        return

    def onEscape(self):
        dialogsContainer = self.app.containerManager.getContainer(VIEW_TYPE.DIALOG)
        if not dialogsContainer.getView(criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.LOBBY_MENU}):
            self.fireEvent(events.ShowViewEvent(events.ShowViewEvent.SHOW_LOBBY_MENU), scope=EVENT_BUS_SCOPE.LOBBY)

    @prbDispatcherProperty
    def prbDispatcher(self):
        pass

    def __onTrainingsListReceived(self, prebattles):
        result = []
        totalPlayersCount = 0
        for item in prebattles:
            arena = ArenaType.g_cache[item.arenaTypeID]
            totalPlayersCount += item.playersCount
            result.append({'id': item.prbID,
             'comment': item.getCensoredComment(),
             'arena': getArenaFullName(item.arenaTypeID),
             'count': item.playersCount,
             'total': arena.maxPlayersInTeam,
             'owner': item.getCreatorFullName(),
             'icon': formatters.getMapIconPath(arena, prefix='small/'),
             'disabled': not item.isOpened})

        self.as_setListS(result, totalPlayersCount)

    @process
    def joinTrainingRequest(self, prbID):
        yield self.prbDispatcher.join(JoinTrainingCtx(prbID, waitingID='prebattle/join'))

    def createTrainingRequest(self):
        self.fireEvent(events.ShowWindowEvent(events.ShowWindowEvent.SHOW_TRAINING_SETTINGS_WINDOW))
Example #3
0
 def _populate(self):
     super(Trainings, self)._populate()
     self.__requester = TrainingListRequester()
     self.__requester.start(self.__onTrainingsListReceived)
     MusicController.g_musicController.play(MusicController.MUSIC_EVENT_LOBBY)
     MusicController.g_musicController.play(MusicController.AMBIENT_EVENT_LOBBY)
Example #4
0
class Trainings(LobbySubView, TrainingFormMeta):
    def __init__(self):
        super(Trainings, self).__init__()
        self.app.component.wg_inputKeyMode = 1
        self.__requester = None
        return

    def _populate(self):
        super(Trainings, self)._populate()
        self.__requester = TrainingListRequester()
        self.__requester.start(self.__onTrainingsListReceived)
        MusicController.g_musicController.play(
            MusicController.MUSIC_EVENT_LOBBY)
        MusicController.g_musicController.play(
            MusicController.AMBIENT_EVENT_LOBBY)

    def _dispose(self):
        if self.__requester is not None:
            self.__requester.stop()
            self.__requester = None
        window = self.app.containerManager.getView(
            VIEW_TYPE.WINDOW,
            criteria={
                POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.TRAINING_SETTINGS_WINDOW
            })
        if window is not None:
            window.destroy()
        super(Trainings, self)._dispose()
        return

    def onEscape(self):
        dialogsContainer = self.app.containerManager.getContainer(
            VIEW_TYPE.DIALOG)
        if not dialogsContainer.getView(
                criteria={POP_UP_CRITERIA.VIEW_ALIAS: VIEW_ALIAS.LOBBY_MENU}):
            self.fireEvent(events.ShowViewEvent(
                events.ShowViewEvent.SHOW_LOBBY_MENU),
                           scope=EVENT_BUS_SCOPE.LOBBY)

    @prbDispatcherProperty
    def prbDispatcher(self):
        pass

    def __onTrainingsListReceived(self, prebattles):
        result = []
        totalPlayersCount = 0
        for item in prebattles:
            arena = ArenaType.g_cache[item.arenaTypeID]
            totalPlayersCount += item.playersCount
            result.append({
                'id':
                item.prbID,
                'comment':
                item.getCensoredComment(),
                'arena':
                getArenaFullName(item.arenaTypeID),
                'count':
                item.playersCount,
                'total':
                arena.maxPlayersInTeam,
                'owner':
                item.getCreatorFullName(),
                'icon':
                formatters.getMapIconPath(arena, prefix='small/'),
                'disabled':
                not item.isOpened
            })

        self.as_setListS(result, totalPlayersCount)

    @process
    def joinTrainingRequest(self, prbID):
        yield self.prbDispatcher.join(
            JoinTrainingCtx(prbID, waitingID='prebattle/join'))

    def createTrainingRequest(self):
        self.fireEvent(
            events.ShowWindowEvent(
                events.ShowWindowEvent.SHOW_TRAINING_SETTINGS_WINDOW))