def makeSortieShortVO(unitFunctional, unitIdx=None, app=None): fullData = unitFunctional.getUnitFullData(unitIdx=unitIdx) if fullData is None: title = i18n.makeString(FORTIFICATIONS.SORTIE_LISTVIEW_ALERTTEXT_TITLE) body = i18n.makeString(FORTIFICATIONS.SORTIE_LISTVIEW_ALERTTEXT_BODY) alertView = { 'icon': RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON, 'titleMsg': text_styles.alert(title), 'bodyMsg': text_styles.main(body), 'buttonLbl': FORTIFICATIONS.SORTIE_LISTVIEW_ENTERBTN } return {'isShowAlertView': True, 'alertView': alertView} unit, unitState, unitStats, pInfo, slotsIter = fullData division = getDivisionNameByType(unit.getRosterTypeID()) divisionTypeStr = i18n.makeString( FORTIFICATIONS.sortie_division_name(division)) unit, unitState, _, pInfo, slotsIter = fullData return { 'isFreezed': unitState.isLocked(), 'hasRestrictions': unit.isRosterSet(ignored=settings.CREATOR_ROSTER_SLOT_INDEXES), 'slots': _getSlotsData(unitIdx, unit, unitState, pInfo, slotsIter, app, unitFunctional.getRosterSettings().getLevelsRange()), 'description': divisionTypeStr if divisionTypeStr else unitFunctional.getCensoredComment(unitIdx=unitIdx) }
def buildList(self): self.__list = [{ 'label': I18N_FORTIFICATIONS.sortie_division_name('ALL'), 'data': 0 }] self.__list.extend( makeDivisionData(I18N_FORTIFICATIONS.sortie_division_name))
def makeSortieShortVO(unitEntity, unitIdx = None, app = None): fullData = unitEntity.getUnitFullData(unitIdx=unitIdx) division = getDivisionNameByType(fullData.unit.getRosterTypeID()) divisionTypeStr = i18n.makeString(FORTIFICATIONS.sortie_division_name(division)) if divisionTypeStr: description = divisionTypeStr else: description = unitEntity.getCensoredComment(unitIdx=unitIdx) return {'isFreezed': fullData.flags.isLocked(), 'hasRestrictions': fullData.unit.isRosterSet(ignored=settings.CREATOR_ROSTER_SLOT_INDEXES), 'slots': _getSlotsData(unitIdx, fullData, app, unitEntity.getRosterSettings().getLevelsRange()), 'description': description}
def makeDivisionData(nameGenerator = None): result = [] for name, divisionID, rosterTypeID in getDivisionsOrderData(): settings = getDivisionSettings(name) if settings: profit = settings.resourceBonus else: profit = 0 result.append({'profit': profit, 'level': divisionID, 'label': nameGenerator or I18N_FORTIFICATIONS.sortie_division_name(name), 'data': rosterTypeID, 'vehLvls': MIN_MAX_VEH_LVLS_MAPPING[divisionID].DEFAULT_LEVELS}) return result
def makeSortieShortVO(unitFunctional, unitIdx = None, app = None): fullData = unitFunctional.getUnitFullData(unitIdx=unitIdx) if fullData is None: title = i18n.makeString(FORTIFICATIONS.SORTIE_LISTVIEW_ALERTTEXT_TITLE) body = i18n.makeString(FORTIFICATIONS.SORTIE_LISTVIEW_ALERTTEXT_BODY) alertView = {'icon': RES_ICONS.MAPS_ICONS_LIBRARY_ALERTICON, 'titleMsg': text_styles.alert(title), 'bodyMsg': text_styles.main(body), 'buttonLbl': FORTIFICATIONS.SORTIE_LISTVIEW_ENTERBTN} return {'isShowAlertView': True, 'alertView': alertView} unit, unitState, unitStats, pInfo, slotsIter = fullData division = getDivisionNameByType(unit.getRosterTypeID()) divisionTypeStr = i18n.makeString(FORTIFICATIONS.sortie_division_name(division)) unit, unitState, _, pInfo, slotsIter = fullData return {'isFreezed': unitState.isLocked(), 'hasRestrictions': unit.isRosterSet(ignored=settings.CREATOR_ROSTER_SLOT_INDEXES), 'slots': _getSlotsData(unitIdx, unit, unitState, pInfo, slotsIter, app, unitFunctional.getRosterSettings().getLevelsRange()), 'description': divisionTypeStr if divisionTypeStr else unitFunctional.getCensoredComment(unitIdx=unitIdx)}
def _makeVO(self, index, item): isInBattle = item.getState() & UNIT_STATE.IN_ARENA > 0 or item.getState() & UNIT_STATE.IN_QUEUE > 0 or item.getState() & UNIT_STATE.IN_SEARCH > 0 user = self.usersStorage.getUser(item.getCommanderDatabaseID()) if user: colors = g_settings.getColorScheme('rosters').getColors(user.getGuiType()) color = colors[0] if user.isOnline() else colors[1] else: colors = g_settings.getColorScheme(USER_GUI_TYPE.OTHER) color = colors[1] return {'sortieID': item.getID(), 'creatorName': item.getCommanderFullName(), 'divisionName': I18N_FORTIFICATIONS.sortie_division_name(item.getDivisionName()), 'description': self.txtMgr.getText(TextType.STANDARD_TEXT, item.getDescription()), 'isInBattle': isInBattle, 'division': item.getDivision(), 'playersCount': item.itemData.count, 'commandSize': item.itemData.maxCount, 'rallyIndex': index, 'igrType': item.getIgrType(), 'color': color}
def makeSortieVO(unitFunctional, unitIdx=None, app=None): fullData = unitFunctional.getUnitFullData(unitIdx=unitIdx) if fullData is None: return else: unit, unitState, unitStats, pInfo, slotsIter = fullData division = getDivisionNameByType(unit.getRosterTypeID()) divisionTypeStr = i18n.makeString( FORTIFICATIONS.sortie_division_name(division)) divisionStr = i18n.makeString(FORTIFICATIONS.SORTIE_ROOM_DIVISION) divisionLbl = ''.join((text_styles.standard(divisionStr), text_styles.main(divisionTypeStr))) isPlayerCreator = pInfo.isCreator() canDoAction, restriction = unitFunctional.validateLevels( stats=unitStats) sumLevelsStr = makeTotalLevelLabel(unitStats, restriction) return { 'isCommander': isPlayerCreator, 'isFreezed': unitState.isLocked(), 'hasRestrictions': unit.isRosterSet(ignored=settings.CREATOR_ROSTER_SLOT_INDEXES), 'statusLbl': makeUnitStateLabel(unitState), 'statusValue': unitState.isOpened(), 'sumLevelsInt': unitStats.curTotalLevel, 'sumLevels': sumLevelsStr, 'sumLevelsError': canDoAction, 'slots': _getSlotsData(unitIdx, unit, unitState, pInfo, slotsIter, app, unitFunctional.getRosterSettings().getLevelsRange()), 'description': unitFunctional.getCensoredComment(unitIdx=unitIdx), 'divisionLbl': divisionLbl }
def _makeVO(self, index, item): isInBattle = item.getFlags() & UNIT_FLAGS.IN_ARENA > 0 or item.getFlags() & UNIT_FLAGS.IN_QUEUE > 0 or item.getFlags() & UNIT_FLAGS.IN_SEARCH > 0 user = self.usersStorage.getUser(item.getCommanderDatabaseID()) scheme = g_settings.getColorScheme('rosters') if user: colors = scheme.getColors(user.getGuiType()) color = colors[0] if user.isOnline() else colors[1] else: colors = scheme.getColors(USER_GUI_TYPE.OTHER) color = colors[1] return {'sortieID': item.getID(), 'creatorName': item.getCommanderFullName(), 'divisionName': I18N_FORTIFICATIONS.sortie_division_name(item.getDivisionName()), 'description': text_styles.standard(item.getDescription()), 'descriptionForTT': item.getDescription(), 'isInBattle': isInBattle, 'division': item.getDivision(), 'playersCount': item.itemData.count, 'commandSize': item.itemData.maxCount, 'rallyIndex': index, 'igrType': item.getIgrType(), 'color': color}
def makeSortieVO(unitFunctional, unitIdx = None, app = None): fullData = unitFunctional.getUnitFullData(unitIdx=unitIdx) if fullData is None: return {} unit, unitState, unitStats, pInfo, slotsIter = fullData division = getDivisionNameByType(unit.getRosterTypeID()) divisionTypeStr = i18n.makeString(FORTIFICATIONS.sortie_division_name(division)) divisionStr = i18n.makeString(FORTIFICATIONS.SORTIE_ROOM_DIVISION) divisionLbl = ''.join((text_styles.standard(divisionStr), text_styles.main(divisionTypeStr))) isPlayerCreator = pInfo.isCreator() canDoAction, restriction = unitFunctional.validateLevels(stats=unitStats) sumLevelsStr = makeTotalLevelLabel(unitStats, restriction) return {'isCommander': isPlayerCreator, 'isFreezed': unitState.isLocked(), 'hasRestrictions': unit.isRosterSet(ignored=settings.CREATOR_ROSTER_SLOT_INDEXES), 'statusLbl': makeUnitStateLabel(unitState), 'statusValue': unitState.isOpened(), 'sumLevelsInt': unitStats.curTotalLevel, 'sumLevels': sumLevelsStr, 'sumLevelsError': canDoAction, 'slots': _getSlotsData(unitIdx, unit, unitState, pInfo, slotsIter, app, unitFunctional.getRosterSettings().getLevelsRange()), 'description': unitFunctional.getCensoredComment(unitIdx=unitIdx), 'divisionLbl': divisionLbl}
def buildList(self): self.__list = [{'label': I18N_FORTIFICATIONS.sortie_division_name('ALL'), 'data': 0}] self.__list.extend(makeDivisionData())