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()
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)
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)
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)
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)
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)
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)
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) }
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()
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()