示例#1
0
 def onUnitSettingChanged(self, opCode, value):
     if opCode == UNIT_OP.SET_COMMENT:
         self.as_setCommentS(self.prbEntity.getCensoredComment())
     elif opCode in [UNIT_OP.CLOSE_SLOT, UNIT_OP.OPEN_SLOT]:
         entity = self.prbEntity
         unitFlags = entity.getFlags()
         slotState = entity.getSlotState(value)
         pInfo = entity.getPlayerInfo()
         canAssign, vehicles = pInfo.canAssignToSlot(value)
         vehCount = len(vehicles)
         slotLabel = vo_converters.makeSlotLabel(unitFlags, slotState,
                                                 pInfo.isCommander(),
                                                 vehCount)
         if opCode == UNIT_OP.CLOSE_SLOT:
             self.as_closeSlotS(value, settings.UNIT_CLOSED_SLOT_COST,
                                slotLabel)
         else:
             self.as_openSlotS(value, canAssign, slotLabel, vehCount)
         unitStats = entity.getStats()
         result = entity.validateLevels()
         self.as_setTotalLabelS(
             result.isValid,
             vo_converters.makeTotalLevelLabel(unitStats,
                                               result.restriction),
             unitStats.curTotalLevel)
         self._setActionButtonState()
示例#2
0
 def onUnitVehiclesChanged(self, dbID, vInfos):
     entity = self.prbEntity
     pInfo = entity.getPlayerInfo(dbID=dbID)
     if pInfo.isInSlot:
         slotIdx = pInfo.slotIdx
         if vInfos and not vInfos[0].isEmpty():
             vInfo = vInfos[0]
             vehicleVO = makeVehicleVO(
                 self.itemsCache.items.getItemByCD(vInfo.vehTypeCD),
                 entity.getRosterSettings().getLevelsRange())
             slotCost = vInfo.vehLevel
         else:
             slotState = entity.getSlotState(slotIdx)
             vehicleVO = None
             if slotState.isClosed:
                 slotCost = settings.UNIT_CLOSED_SLOT_COST
             else:
                 slotCost = 0
         self.as_setMemberVehicleS(slotIdx, slotCost, vehicleVO)
         unitStats = entity.getStats()
         result = entity.validateLevels()
         self.as_setTotalLabelS(
             result.isValid,
             vo_converters.makeTotalLevelLabel(unitStats,
                                               result.restriction),
             unitStats.curTotalLevel)
     self._setActionButtonState()
     return
 def onUnitVehicleChanged(self, dbID, vInfo):
     functional = self.unitFunctional
     pInfo = functional.getPlayerInfo(dbID=dbID)
     if pInfo.isInSlot:
         slotIdx = pInfo.slotIdx
         if not vInfo.isEmpty():
             vehicleVO = makeVehicleVO(
                 g_itemsCache.items.getItemByCD(vInfo.vehTypeCD),
                 functional.getRosterSettings().getLevelsRange())
             slotCost = vInfo.vehLevel
         else:
             slotState = functional.getSlotState(slotIdx)
             vehicleVO = None
             if slotState.isClosed:
                 slotCost = settings.UNIT_CLOSED_SLOT_COST
             else:
                 slotCost = 0
         self.as_setMemberVehicleS(slotIdx, slotCost, vehicleVO)
         unitStats = functional.getStats()
         canDoAction, restriction = functional.validateLevels(
             stats=unitStats)
         self.as_setTotalLabelS(
             canDoAction,
             vo_converters.makeTotalLevelLabel(unitStats, restriction),
             unitStats.curTotalLevel)
     if pInfo.isCurrentPlayer() or functional.getPlayerInfo().isCreator():
         self._setActionButtonState()
 def __updateTotal(self):
     functional = self.unitFunctional
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(
         canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel
     )
 def __updateTotal(self):
     functional = self.unitFunctional
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(
         canDoAction,
         vo_converters.makeTotalLevelLabel(unitStats, restriction),
         unitStats.curTotalLevel)
示例#6
0
 def __updateTotal(self):
     entity = self.prbEntity
     unitStats = entity.getStats()
     result = entity.validateLevels()
     self.as_setTotalLabelS(
         result.isValid,
         vo_converters.makeTotalLevelLabel(unitStats, result.restriction),
         unitStats.curTotalLevel)
示例#7
0
 def onUnitMembersListChanged(self):
     functional = self.unitFunctional
     if self._candidatesDP:
         self._candidatesDP.rebuild(functional.getCandidates())
     self._updateMembersData()
     self._setActionButtonState()
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
示例#8
0
 def onUnitRejoin(self):
     super(CyberSportUnitView, self).onUnitRejoin()
     functional = self.unitFunctional
     if self._candidatesDP:
         self._candidatesDP.rebuild(functional.getCandidates())
     self._updateMembersData()
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
     self._updateLabels(functional)
示例#9
0
 def onUnitRejoin(self):
     super(CyberSportUnitView, self).onUnitRejoin()
     functional = self.unitFunctional
     if self._candidatesDP:
         self._candidatesDP.rebuild(functional.getCandidates())
     self._updateMembersData()
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
     self._updateLabels(functional)
示例#10
0
 def onUnitMembersListChanged(self):
     functional = self.unitFunctional
     if self._candidatesDP:
         self._candidatesDP.rebuild(functional.getCandidates())
     self._updateMembersData()
     self._setActionButtonState()
     unitStats = functional.getStats()
     canDoAction, restriction = functional.validateLevels(stats=unitStats)
     self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
     self._updateLabels(functional)
示例#11
0
 def onUnitRejoin(self):
     super(CyberSportUnitView, self).onUnitRejoin()
     entity = self.prbEntity
     if self._candidatesDP:
         self._candidatesDP.rebuild(entity.getCandidates())
     self._updateMembersData()
     unitStats = entity.getStats()
     result = entity.validateLevels()
     self.as_setTotalLabelS(result.isValid, vo_converters.makeTotalLevelLabel(unitStats, result.restriction), unitStats.curTotalLevel)
     self._updateLabels(entity)
示例#12
0
 def onUnitMembersListChanged(self):
     entity = self.prbEntity
     if self._candidatesDP:
         self._candidatesDP.rebuild(entity.getCandidates())
     self._updateMembersData()
     self._setActionButtonState()
     unitStats = entity.getStats()
     result = entity.validateLevels()
     self.as_setTotalLabelS(result.isValid, vo_converters.makeTotalLevelLabel(unitStats, result.restriction), unitStats.curTotalLevel)
     self._updateLabels(entity)
def makeSortieVO(unitEntity,
                 isCommander,
                 unitMgrID=None,
                 app=None,
                 canInvite=True,
                 maxPlayerCount=MAX_PLAYER_COUNT_ALL):
    fullData = unitEntity.getUnitFullData(unitMgrID=unitMgrID)
    levelsValidation = unitEntity.validateLevels()
    canDoAction, restriction = levelsValidation.isValid, levelsValidation.restriction
    sumLevelsStr = makeTotalLevelLabel(fullData.stats, restriction)
    _, slots = makeStrongholdsSlotsVOs(unitEntity, unitMgrID, app,
                                       maxPlayerCount)
    if fullData.playerInfo.isInSlot:
        disableCanBeTakenButtonInSlots(slots)
    if fullData.flags.isLocked() or unitEntity.isStrongholdUnitFreezed(
    ) or unitEntity.inPlayersMatchingMode():
        setFreezedInSlots(slots)
        canAssignToSlot = False
    else:
        canAssignToSlot = canInvite
    return {
        'canInvite':
        canInvite,
        'isCommander':
        isCommander,
        'isFreezed':
        fullData.flags.isLocked(),
        'canAssignToSlot':
        canAssignToSlot,
        'hasRestrictions':
        fullData.unit.isRosterSet(
            ignored=settings.CREATOR_ROSTER_SLOT_INDEXES),
        'statusLbl':
        makeUnitStateLabel(fullData.flags),
        'statusValue':
        fullData.flags.isOpened(),
        'sumLevelsInt':
        fullData.stats.curTotalLevel,
        'sumLevels':
        sumLevelsStr,
        'sumLevelsError':
        canDoAction,
        'slots':
        slots,
        'description':
        unitEntity.getCensoredComment(unitMgrID=unitMgrID)
    }
示例#14
0
 def onUnitSettingChanged(self, opCode, value):
     if opCode == UNIT_OP.SET_COMMENT:
         self.as_setCommentS(self.unitFunctional.getCensoredComment())
     elif opCode in [UNIT_OP.CLOSE_SLOT, UNIT_OP.OPEN_SLOT]:
         functional = self.unitFunctional
         unitFlags = functional.getFlags()
         slotState = functional.getSlotState(value)
         pInfo = functional.getPlayerInfo()
         canAssign, vehicles = pInfo.canAssignToSlot(value)
         vehCount = len(vehicles)
         slotLabel = vo_converters.makeSlotLabel(unitFlags, slotState, pInfo.isCreator(), vehCount)
         if opCode == UNIT_OP.CLOSE_SLOT:
             self.as_closeSlotS(value, settings.UNIT_CLOSED_SLOT_COST, slotLabel)
         else:
             self.as_openSlotS(value, canAssign, slotLabel, vehCount)
         unitStats = functional.getStats()
         canDoAction, restriction = functional.validateLevels(stats=unitStats)
         self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
         self._setActionButtonState()
示例#15
0
 def onUnitVehicleChanged(self, dbID, vInfo):
     functional = self.unitFunctional
     pInfo = functional.getPlayerInfo(dbID=dbID)
     if pInfo.isInSlot:
         slotIdx = pInfo.slotIdx
         if not vInfo.isEmpty():
             vehicleVO = makeVehicleVO(g_itemsCache.items.getItemByCD(vInfo.vehTypeCD), functional.getRosterSettings().getLevelsRange())
             slotCost = vInfo.vehLevel
         else:
             slotState = functional.getSlotState(slotIdx)
             vehicleVO = None
             if slotState.isClosed:
                 slotCost = settings.UNIT_CLOSED_SLOT_COST
             else:
                 slotCost = 0
         self.as_setMemberVehicleS(slotIdx, slotCost, vehicleVO)
         unitStats = functional.getStats()
         canDoAction, restriction = functional.validateLevels(stats=unitStats)
         self.as_setTotalLabelS(canDoAction, vo_converters.makeTotalLevelLabel(unitStats, restriction), unitStats.curTotalLevel)
     if pInfo.isCurrentPlayer() or functional.getPlayerInfo().isCreator():
         self._setActionButtonState()