def changeNation(self, nationID): Waiting.show('updating') self.__selectedNation = nationID modulesAll = g_itemsCache.items.getVehicles( self.__getClassesCriteria(nationID)).values() classes = [] data = [self.__getVehicleClassEmptyRow()] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append({ 'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type) }) self.as_setVehicleClassDataS( self.__getSendingData(data, len(data) > 1, 0)) self.as_setVehicleDataS( self.__getSendingData([self.__getVehicleEmptyRow()], False, 0)) self.as_setTankmanRoleDataS( self.__getSendingData([self.__getTankmanRoleEmptyRow()], False, 0)) Waiting.hide('updating') self.onDataChange(self.__selectedNation, self.__selectedVehClass, self.__selectedVehicle, self.__selectedTmanRole)
def updateAllDropdowns(self, nationID, tankType, typeID, roleType): nationsDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': nationID, 'label': MENU.nations(nations.NAMES[int(nationID)])}] classesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': tankType, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType)}] typesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] rolesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] unlocks = yield StatsRequester().getUnlocks() modulesAll = yield Requester('vehicle').getFromShop() for module in modulesAll: compdecs = module.descriptor.type.compactDescr if compdecs in unlocks and module.descriptor.type.id[0] == nationID and module.descriptor.type.id[1] == typeID: typesDP.append({'id': module.descriptor.type.id[1], 'label': module.descriptor.type.shortUserString}) for role in module.descriptor.type.crewRoles: if role[0] == roleType: rolesDP.append({'id': role[0], 'label': convert(getSkillsConfig()[role[0]]['userString'])}) break self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP) return
def updateAllDropdowns(self, nationID, tankType, typeID, roleType): nationsDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': nationID, 'label': MENU.nations(nations.NAMES[int(nationID)])}] classesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}, {'id': tankType, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType)}] typesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] rolesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] modulesAll = g_itemsCache.items.getVehicles(self.__getRoleCriteria(nationID, tankType, typeID)).values() modulesAll.sort() for module in modulesAll: typesDP.append({'id': module.innationID, 'label': module.shortUserName}) for role in module.descriptor.type.crewRoles: if role[0] == roleType: rolesDP.append({'id': role[0], 'label': convert(getSkillsConfig()[role[0]]['userString'])}) break self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP) return
def __setVehicleClassesData(self): if self.__filteredVehClasses is not None: data = self.__filteredVehClasses[self.__selectedNationIdx] self.as_setVehicleClassDataS( self.__getSendingData(data, len(data) > 1, 0)) else: modulesAll = self.itemsCache.items.getVehicles( self.__getClassesCriteria(self.__selectedNationIdx)).values() classes = [] data = [self.__getVehicleClassEmptyRow()] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append( _packItemVO( module.type, DIALOGS.recruitwindow_vehicleclassdropdown( module.type))) self.as_setVehicleClassDataS( self.__getSendingData(data, len(data) > 1, 0)) return
def __collectPredefinedRoleData(self): criteria = self.__getNationsCriteria() selectedNationsIds = [] if self.__hasPredefinedNations(): selectedNationsIds = self.__predefinedNationsIdxs else: for nId in nations.INDICES.itervalues(): selectedNationsIds.append(nId) criteria |= REQ_CRITERIA.NATIONS(selectedNationsIds) if not constants.IS_IGR_ENABLED: criteria |= ~REQ_CRITERIA.VEHICLE.IS_PREMIUM_IGR if constants.IS_DEVELOPMENT: criteria |= ~REQ_CRITERIA.VEHICLE.IS_BOT modulesAll = self.itemsCache.items.getVehicles( criteria=criteria).values() modulesAll.sort() self.__filteredNations = dict() self.__filteredVehClasses = dict() self.__filteredVehClasses.setdefault( DEFAULT_NATION, [self.__getVehicleClassEmptyRow()]) self.__filteredVehicles = dict() filteredVehClassesByNation = dict() count = 0 for module in modulesAll: roleFound = False for role in module.descriptor.type.crewRoles: if not roleFound and role[0] in self.__predefinedTmanRoles: roleFound = True nationID, _ = module.descriptor.type.id self.__filteredNations.setdefault( nationID, _packItemVO(nationID, MENU.nations(nations.NAMES[nationID]))) vehicleClassesSet = filteredVehClassesByNation.setdefault( nationID, set()) self.__filteredVehClasses.setdefault( DEFAULT_NATION, [self.__getVehicleClassEmptyRow()]) currentType = module.type if currentType not in vehicleClassesSet: vehicleClassesSet.add(module.type) vehClasses = self.__filteredVehClasses.setdefault( nationID, [self.__getVehicleClassEmptyRow()]) vehClasses.append( _packItemVO( currentType, DIALOGS.recruitwindow_vehicleclassdropdown( currentType))) vehicles = self.__filteredVehicles.setdefault( (nationID, currentType), [self.__getVehicleEmptyRow()]) vehicles.append( _packItemVO(module.innationID, module.shortUserName)) count += 1 if count < 1: _logger.error('Something wrong with recruit tankman default role!') self.__clearFilteredData()
def updateVehicleClassDropdown(self, nationID): Waiting.show("updating") modulesAll = g_itemsCache.items.getVehicles(self.__getClassesCriteria(nationID)).values() classes = [] data = [{"id": None, "label": DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append({"id": module.type, "label": DIALOGS.recruitwindow_vehicleclassdropdown(module.type)}) self.flashObject.as_setVehicleClassDropdown(data) Waiting.hide("updating") return
def updateVehicleClassDropdown(self, nationID): Waiting.show('updating') modulesAll = g_itemsCache.items.getVehicles(self.__getClassesCriteria(nationID)).values() classes = [] data = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append({'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type)}) self.flashObject.as_setVehicleClassDropdown(data) Waiting.hide('updating') return
def updateVehicleClassDropdown(self, nationID): Waiting.show('updating') unlocks = yield StatsRequester().getUnlocks() modulesAll = yield Requester('vehicle').getFromShop() classes = [] data = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] modulesAll.sort() for module in modulesAll: compdecs = module.descriptor.type.compactDescr if compdecs in unlocks and module.descriptor.type.id[0] == nationID and module.type not in classes: classes.append(module.type) data.append({'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type)}) self.flashObject.as_setVehicleClassDropdown(data) Waiting.hide('updating') return
def changeNation(self, nationID): Waiting.show('updating') self.__selectedNation = nationID modulesAll = g_itemsCache.items.getVehicles(self.__getClassesCriteria(nationID)).values() classes = [] data = [self.__getVehicleClassEmptyRow()] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append({'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type)}) self.as_setVehicleClassDataS(self.__getSendingData(data, len(data) > 1, 0)) self.as_setVehicleDataS(self.__getSendingData([self.__getVehicleEmptyRow()], False, 0)) self.as_setTankmanRoleDataS(self.__getSendingData([self.__getTankmanRoleEmptyRow()], False, 0)) Waiting.hide('updating') self.onDataChange(self.__selectedNation, self.__selectedVehClass, self.__selectedVehicle, self.__selectedTmanRole)
def updateAllDropdowns(self, nationID, tankType, typeID, roleType): nationsDP = [{ 'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW }, { 'id': nationID, 'label': MENU.nations(nations.NAMES[int(nationID)]) }] classesDP = [{ 'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW }, { 'id': tankType, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(tankType) }] typesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] rolesDP = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] unlocks = yield StatsRequester().getUnlocks() modulesAll = yield Requester('vehicle').getFromShop() for module in modulesAll: compdecs = module.descriptor.type.compactDescr if compdecs in unlocks and module.descriptor.type.id[ 0] == nationID and module.descriptor.type.id[1] == typeID: typesDP.append({ 'id': module.descriptor.type.id[1], 'label': module.descriptor.type.shortUserString }) for role in module.descriptor.type.crewRoles: if role[0] == roleType: rolesDP.append({ 'id': role[0], 'label': convert(getSkillsConfig()[role[0]]['userString']) }) break self.flashObject.as_setAllDropdowns(nationsDP, classesDP, typesDP, rolesDP) return
def __setVehicleClassesData(self): modulesAll = self.itemsCache.items.getVehicles( self.__getClassesCriteria(self.__selectedNation)).values() classes = [] data = [self.__getVehicleClassEmptyRow()] modulesAll.sort() for module in modulesAll: if module.type in classes: continue classes.append(module.type) data.append({ 'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type) }) self.as_setVehicleClassDataS( self.__getSendingData(data, len(data) > 1, 0))
def updateVehicleClassDropdown(self, nationID): Waiting.show('updating') unlocks = yield StatsRequester().getUnlocks() modulesAll = yield Requester('vehicle').getFromShop() classes = [] data = [{'id': None, 'label': DIALOGS.RECRUITWINDOW_MENUEMPTYROW}] modulesAll.sort() for module in modulesAll: compdecs = module.descriptor.type.compactDescr if compdecs in unlocks and module.descriptor.type.id[ 0] == nationID and module.type not in classes: classes.append(module.type) data.append({ 'id': module.type, 'label': DIALOGS.recruitwindow_vehicleclassdropdown(module.type) }) self.flashObject.as_setVehicleClassDropdown(data) Waiting.hide('updating') return