コード例 #1
0
ファイル: vo_converters.py プロジェクト: jamesxia4/wot_client
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)
    }
コード例 #2
0
ファイル: sorties_dps.py プロジェクト: jamesxia4/wot_client
 def buildList(self):
     self.__list = [{
         'label': I18N_FORTIFICATIONS.sortie_division_name('ALL'),
         'data': 0
     }]
     self.__list.extend(
         makeDivisionData(I18N_FORTIFICATIONS.sortie_division_name))
コード例 #3
0
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}
コード例 #4
0
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
コード例 #5
0
ファイル: vo_converters.py プロジェクト: kblw/wot_client
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)}
コード例 #6
0
ファイル: sorties_dps.py プロジェクト: webiumsk/WoT
 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}
コード例 #7
0
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
        }
コード例 #8
0
 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}
コード例 #9
0
ファイル: vo_converters.py プロジェクト: kblw/wot_client
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}
コード例 #10
0
ファイル: sorties_dps.py プロジェクト: webiumsk/WOT-0.9.15.1
 def buildList(self):
     self.__list = [{'label': I18N_FORTIFICATIONS.sortie_division_name('ALL'),
       'data': 0}]
     self.__list.extend(makeDivisionData())