def onVehicleSelected(self, vehTypeCompDescr): self.__selectedVehicleCD = int(vehTypeCompDescr) selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD) data = [] mainRoles = [] for slotIdx, tman in selectedVehicle.crew: mainRole = selectedVehicle.descriptor.type.crewRoles[slotIdx][0] if mainRole not in mainRoles: mainRoles.append(mainRole) criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS( [self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES( [mainRole]) | REQ_CRITERIA.TANKMAN.ACTIVE roleTankmen = self.__items.getTankmen(criteria).values() sameTankmen = len(roleTankmen) roleSlotIsTaken = _isRoleSlotTaken(roleTankmen, selectedVehicle, mainRole) roleStr = Tankman.getRoleUserName(mainRole) isAvailable = self.__tankman.descriptor.role != mainRole data.append({ 'id': mainRole, 'name': roleStr, 'icon': Tankman.getRoleMediumIconPath(mainRole), 'available': isAvailable, 'warningHeader': _getTooltipHeader(sameTankmen, isAvailable), 'warningBody': _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken, roleStr, selectedVehicle) }) self.as_setRolesS(data)
def _successHandler(self, code, ctx=None): msgType = SM_TYPE.FinancialTransactionWithGold vehicle = self.itemsCache.items.getItemByCD(self.__vehTypeCompDescr) additionalMsgs = [] if self.__compensationRequired: additionalMsgs.append( makeCrewSkinCompensationMessage( self.__compensationPriceObject)) if ctx == EQUIP_TMAN_CODE.OK: additionalMsgs.append( makeI18nSuccess(sysMsgKey='change_tankman_role/installed', vehicle=vehicle.shortUserName)) elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT: roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx]) additionalMsgs.append( makeI18nSuccess(sysMsgKey='change_tankman_role/slot_is_taken', vehicle=vehicle.shortUserName, role=roleStr)) else: additionalMsgs.append( makeI18nSuccess(sysMsgKey='change_tankman_role/no_vehicle')) return makeI18nSuccess('change_tankman_role/success', money=formatPrice( Money(gold=self.__changeRoleCost)), type=msgType, auxData=additionalMsgs)
def _successHandler(self, code, ctx = None): msgType = SM_TYPE.FinancialTransactionWithGold vehicle = g_itemsCache.items.getItemByCD(self.__vehTypeCompDescr) if ctx == EQUIP_TMAN_CODE.OK: auxData = makeI18nSuccess('change_tankman_role/installed', vehicle=vehicle.shortUserName) elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT: roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx]) auxData = makeI18nSuccess('change_tankman_role/slot_is_taken', vehicle=vehicle.shortUserName, role=roleStr) else: auxData = makeI18nSuccess('change_tankman_role/no_vehicle') return makeI18nSuccess('change_tankman_role/success', money=formatPrice(Money(gold=self.__changeRoleCost)), type=msgType, auxData=auxData)
def _successHandler(self, code, ctx = None): msgType = SM_TYPE.FinancialTransactionWithGold vehicle = g_itemsCache.items.getItemByCD(self.__vehTypeCompDescr) if ctx == EQUIP_TMAN_CODE.OK: auxData = makeI18nSuccess('change_tankman_role/installed', vehicle=vehicle.shortUserName) elif ctx == EQUIP_TMAN_CODE.NO_FREE_SLOT: roleStr = Tankman.getRoleUserName(SKILL_NAMES[self.__roleIdx]) auxData = makeI18nSuccess('change_tankman_role/slot_is_taken', vehicle=vehicle.shortUserName, role=roleStr) else: auxData = makeI18nSuccess('change_tankman_role/no_vehicle') return makeI18nSuccess('change_tankman_role/success', money=formatPrice((0, self.__changeRoleCost)), type=msgType, auxData=auxData)
def onVehicleSelected(self, vehTypeCompDescr): self.__selectedVehicleCD = int(vehTypeCompDescr) selectedVehicle = self.__items.getItemByCD(self.__selectedVehicleCD) data = [] for role in selectedVehicle.descriptor.type.crewRoles: mainRole = role[0] criteria = REQ_CRITERIA.TANKMAN.NATIVE_TANKS([self.__selectedVehicleCD]) | REQ_CRITERIA.TANKMAN.ROLES([mainRole]) roleTankmen = self.__items.getTankmen(criteria).values() sameTankmen = len(roleTankmen) roleSlotIsTaken = _isRoleSlotTaken(roleTankmen, selectedVehicle, mainRole) roleStr = Tankman.getRoleUserName(mainRole) isAvailable = self.__tankman.descriptor.role != mainRole data.append({'id': mainRole, 'name': roleStr, 'icon': Tankman.getRoleMediumIconPath(mainRole), 'available': isAvailable, 'warningHeader': _getTooltipHeader(sameTankmen, isAvailable), 'warningBody': _getTooltipBody(sameTankmen, isAvailable, roleSlotIsTaken, roleStr, selectedVehicle)}) self.as_setRolesS(data)