Example #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()
Example #2
0
 def onUnitStateChanged(self, unitState, timeLeft):
     functional = self.unitFunctional
     pInfo = functional.getPlayerInfo()
     rosterSettings = functional.getRosterSettings()
     isCreator = pInfo.isCreator()
     if unitState.isLockedStateChanged():
         vehGetter = pInfo.getVehiclesToSlot
         slotGetter = functional.getSlotState
         slotLabels = map(lambda idx: vo_converters.makeSlotLabel(unitState, slotGetter(idx), isCreator, len(vehGetter(idx))), rosterSettings.getAllSlotsRange())
         self.as_lockUnitS(unitState.isLocked(), slotLabels)
     if isCreator and unitState.isOpenedStateChanged():
         self.as_setOpenedS(unitState.isOpened(), vo_converters.makeUnitStateLabel(unitState))
     self._setActionButtonState()
Example #3
0
 def onUnitFlagsChanged(self, flags, timeLeft):
     functional = self.unitFunctional
     pInfo = functional.getPlayerInfo()
     rosterSettings = functional.getRosterSettings()
     isCreator = pInfo.isCreator()
     if flags.isLockedStateChanged():
         vehGetter = pInfo.getVehiclesToSlot
         slotGetter = functional.getSlotState
         slotLabels = map(lambda idx: vo_converters.makeSlotLabel(flags, slotGetter(idx), isCreator, len(vehGetter(idx))), rosterSettings.getAllSlotsRange())
         self.as_lockUnitS(flags.isLocked(), slotLabels)
     if isCreator and flags.isOpenedStateChanged():
         self.as_setOpenedS(flags.isOpened(), vo_converters.makeUnitStateLabel(flags))
     self._setActionButtonState()
     if flags.isChanged():
         self._updateMembersData()
Example #4
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()