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