def _addNode(self, nodeCD, node): state = node.getState() if not NODE_STATE.isAnnouncement(state): if self.__overrideResearch: if not NODE_STATE.inInventory(state) and not ( NODE_STATE.isAvailable2Unlock(state) or NODE_STATE.isAvailable2Buy(state)): state = NODE_STATE.addIfNot(state, NODE_STATE_FLAGS.NOT_CLICKABLE) if self.getRootCD() == self.__firstVehicleNode: if self.__secondVehicleResearch: if nodeCD == self.__secondVehicleNode: return -1 if not NODE_STATE.inInventory( state ) and not NODE_STATE.isInstalled( state ) and nodeCD != self.__moduleNodeCD and nodeCD != self.__secondVehicleNode: return -1 item = self._items.getItemByCD(nodeCD) if item.level in DISABLED_TANK_LEVELS and NODE_STATE.isAvailable2Buy( state): state = NODE_STATE.add(state, NODE_STATE_FLAGS.PURCHASE_DISABLED) if not NODE_STATE.isAvailable2Unlock( state) and self._isLastUnlocked(nodeCD): state |= NODE_STATE_FLAGS.LAST_2_BUY if NODE_STATE.hasBlueprints(state): state = NODE_STATE.remove(state, NODE_STATE_FLAGS.BLUEPRINT) node.setState(state) return super(BCResearchItemsData, self)._addNode(nodeCD, node)
def _generateOptions(self, ctx=None): vehicle = g_itemsCache.items.getItemByCD(self._nodeCD) options = [ self._makeItem(VEHICLE.INFO, MENU.CONTEXTMENU_VEHICLEINFOEX), self._makeItem( VEHICLE.STATS, MENU.CONTEXTMENU_SHOWVEHICLESTATISTICS, {'enabled': NODE_STATE.isWasInBattle(self._nodeState)}), self._makeSeparator(), self._makeItem( VEHICLE.UNLOCK, MENU.CONTEXTMENU_UNLOCK, { 'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState) and not NODE_STATE.isPremium(self._nodeState) }) ] if not vehicle.isPremiumIGR: options.extend([ self._makeItem( VEHICLE.BUY, MENU.CONTEXTMENU_BUY, {'enabled': NODE_STATE.isAvailable2Buy(self._nodeState)}), self._makeItem( VEHICLE.SELL, MENU.CONTEXTMENU_VEHICLEREMOVE if vehicle.isRented else MENU.CONTEXTMENU_SELL, {'enabled': NODE_STATE.isAvailable2Sell(self._nodeState)}), self._makeSeparator(), self._makeItem( VEHICLE.SELECT, MENU.CONTEXTMENU_SELECTVEHICLEINHANGAR, { 'enabled': NODE_STATE.inInventory(self._nodeState) and NODE_STATE.isVehicleCanBeChanged(self._nodeState) }) ]) return options
def _generateOptions(self, ctx=None): options = [ self._makeItem(VEHICLE.BLUEPRINT, MENU.CONTEXTMENU_GOTOBLUEPRINT), self._makeItem( VEHICLE.UNLOCK, MENU.CONTEXTMENU_UNLOCK, {'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState)}) ] return options
def _generateOptions(self, ctx=None): vehicle = self.itemsCache.items.getItemByCD(self._nodeCD) options = [ self._makeItem(VEHICLE.INFO, MENU.CONTEXTMENU_VEHICLEINFOEX) ] if vehicle.isPreviewAllowed(): options.append( self._makeItem(VEHICLE.PREVIEW, MENU.CONTEXTMENU_SHOWVEHICLEPREVIEW, {'enabled': self.hangarSpace.spaceInited})) if NODE_STATE.isWasInBattle(self._nodeState): options.append( self._makeItem(VEHICLE.STATS, MENU.CONTEXTMENU_SHOWVEHICLESTATISTICS)) self._manageVehCompareItem(options, vehicle) options.append(self._makeSeparator()) if vehicle.isUnlocked: if not vehicle.isPremiumIGR and (not vehicle.isInInventory or vehicle.isRented): if vehicle.isRestoreAvailable(): label = MENU.CONTEXTMENU_RESTORE elif vehicle.canTradeIn: label = MENU.CONTEXTMENU_BUYORTRADEIN else: label = MENU.CONTEXTMENU_BUY options.append( self._makeItem(VEHICLE.BUY, label, { 'enabled': NODE_STATE.isAvailable2Buy(self._nodeState) })) else: options.append( self._makeItem( VEHICLE.UNLOCK, MENU.CONTEXTMENU_UNLOCK, { 'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState) and not NODE_STATE.isPremium(self._nodeState) })) if not vehicle.isPremiumIGR: isAvailable2SellOrRemove = NODE_STATE.isAvailable2Sell( self._nodeState) if isAvailable2SellOrRemove: options.append( self._makeItem( VEHICLE.SELL, MENU.CONTEXTMENU_VEHICLEREMOVE if vehicle.isRented else MENU.CONTEXTMENU_SELL, {'enabled': isAvailable2SellOrRemove})) options.extend([ self._makeSeparator(), self._makeItem( VEHICLE.SELECT, MENU.CONTEXTMENU_SELECTVEHICLEINHANGAR, { 'enabled': (NODE_STATE.inInventory(self._nodeState) or NODE_STATE.isRentalOver(self._nodeState)) and NODE_STATE.isVehicleCanBeChanged(self._nodeState) }) ]) return options
def _generateOptions(self, ctx = None): vehicle = g_itemsCache.items.getItemByCD(self._nodeCD) options = [self._makeItem(VEHICLE.INFO, MENU.CONTEXTMENU_VEHICLEINFOEX), self._makeItem(VEHICLE.STATS, MENU.CONTEXTMENU_SHOWVEHICLESTATISTICS, {'enabled': NODE_STATE.isWasInBattle(self._nodeState)}), self._makeSeparator(), self._makeItem(VEHICLE.UNLOCK, MENU.CONTEXTMENU_UNLOCK, {'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState) and not NODE_STATE.isPremium(self._nodeState)})] if not vehicle.isPremiumIGR: options.extend([self._makeItem(VEHICLE.BUY, MENU.CONTEXTMENU_BUY, {'enabled': NODE_STATE.isAvailable2Buy(self._nodeState)}), self._makeItem(VEHICLE.SELL, MENU.CONTEXTMENU_VEHICLEREMOVE if vehicle.isRented else MENU.CONTEXTMENU_SELL, {'enabled': NODE_STATE.isAvailable2Sell(self._nodeState)}), self._makeSeparator(), self._makeItem(VEHICLE.SELECT, MENU.CONTEXTMENU_SELECTVEHICLEINHANGAR, {'enabled': (NODE_STATE.inInventory(self._nodeState) or NODE_STATE.isRentalOver(self._nodeState)) and NODE_STATE.isVehicleCanBeChanged(self._nodeState)})]) return options
def _generateOptions(self, ctx=None): options = [ self._makeItem(MODULE.INFO, MENU.contextmenu(MODULE.INFO)), self._makeSeparator(), self._makeItem( MODULE.UNLOCK, MENU.contextmenu(MODULE.UNLOCK), {"enabled": NODE_STATE.isAvailable2Unlock(self._nodeState)}, ), ] if NODE_STATE.isUnlocked(self._nodeState): if NODE_STATE.inInventory(self._nodeState) or NODE_STATE.isInstalled(self._nodeState): options.extend( [ self._makeItem( MODULE.EQUIP, MENU.contextmenu(MODULE.EQUIP), {"enabled": self._isAvailable2Install()} ), self._makeSeparator(), self._makeItem( MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, {"enabled": not NODE_STATE.isInstalled(self._nodeState)}, ), ] ) else: options.extend( [ self._makeItem( MODULE.BUY_AND_EQUIP, MENU.CONTEXTMENU_BUYANDEQUIP, {"enabled": self._isAvailable2Buy()} ), self._makeSeparator(), self._makeItem( MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, {"enabled": NODE_STATE.isAvailable2Sell(self._nodeState)}, ), ] ) else: options.extend( [ self._makeItem(MODULE.BUY_AND_EQUIP, MENU.CONTEXTMENU_BUYANDEQUIP, {"enabled": False}), self._makeSeparator(), self._makeItem(MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, {"enabled": False}), ] ) return options
def _generateOptions(self, ctx=None): options = [ self._makeItem(MODULE.INFO, MENU.contextmenu(MODULE.INFO)), self._makeSeparator(), self._makeItem( MODULE.UNLOCK, MENU.contextmenu(MODULE.UNLOCK), {'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState)}) ] if NODE_STATE.isUnlocked(self._nodeState): if NODE_STATE.inInventory( self._nodeState) or NODE_STATE.isInstalled( self._nodeState): options.extend([ self._makeItem(MODULE.EQUIP, MENU.contextmenu(MODULE.EQUIP), {'enabled': self._isAvailable2Install()}), self._makeSeparator(), self._makeItem( MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, { 'enabled': not NODE_STATE.isInstalled(self._nodeState) }) ]) else: options.extend([ self._makeItem(MODULE.BUY_AND_EQUIP, MENU.CONTEXTMENU_BUYANDEQUIP, {'enabled': self._isAvailable2Buy()}), self._makeSeparator(), self._makeItem( MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, { 'enabled': NODE_STATE.isAvailable2Sell( self._nodeState) }) ]) else: options.extend([ self._makeItem(MODULE.BUY_AND_EQUIP, MENU.CONTEXTMENU_BUYANDEQUIP, {'enabled': False}), self._makeSeparator(), self._makeItem(MODULE.SELL, MENU.CONTEXTMENU_SELLFROMINVENTORY, {'enabled': False}) ]) return options
def _generateOptions(self, ctx = None): vehicle = g_itemsCache.items.getItemByCD(self._nodeCD) options = [self._makeItem(VEHICLE.INFO, MENU.CONTEXTMENU_VEHICLEINFOEX)] if vehicle.isPreviewAllowed(): options.append(self._makeItem(VEHICLE.PREVIEW, MENU.CONTEXTMENU_SHOWVEHICLEPREVIEW)) if NODE_STATE.isWasInBattle(self._nodeState): options.append(self._makeItem(VEHICLE.STATS, MENU.CONTEXTMENU_SHOWVEHICLESTATISTICS)) self._manageVehCompareItem(options, vehicle) options.append(self._makeSeparator()) if vehicle.isUnlocked: if not vehicle.isPremiumIGR and (not vehicle.isInInventory or vehicle.isRented): if vehicle.isRestoreAvailable(): label = MENU.CONTEXTMENU_RESTORE else: label = MENU.CONTEXTMENU_BUY options.append(self._makeItem(VEHICLE.BUY, label, {'enabled': NODE_STATE.isAvailable2Buy(self._nodeState)})) else: options.append(self._makeItem(VEHICLE.UNLOCK, MENU.CONTEXTMENU_UNLOCK, {'enabled': NODE_STATE.isAvailable2Unlock(self._nodeState) and not NODE_STATE.isPremium(self._nodeState)})) if not vehicle.isPremiumIGR: isAvailable2SellOrRemove = NODE_STATE.isAvailable2Sell(self._nodeState) if isAvailable2SellOrRemove: options.append(self._makeItem(VEHICLE.SELL, MENU.CONTEXTMENU_VEHICLEREMOVE if vehicle.isRented else MENU.CONTEXTMENU_SELL, {'enabled': isAvailable2SellOrRemove})) options.extend([self._makeSeparator(), self._makeItem(VEHICLE.SELECT, MENU.CONTEXTMENU_SELECTVEHICLEINHANGAR, {'enabled': (NODE_STATE.inInventory(self._nodeState) or NODE_STATE.isRentalOver(self._nodeState)) and NODE_STATE.isVehicleCanBeChanged(self._nodeState)})]) return options