Add drone stack via ctrl-doubleclick

This commit is contained in:
DarkPhoenix
2019-04-19 13:56:17 +03:00
parent e694ced86c
commit a5bb16c460
2 changed files with 5 additions and 2 deletions

View File

@@ -33,6 +33,7 @@ from gui.utils.staticHelpers import DragDropHelper
from service.fit import Fit
from service.market import Market
import gui.fitCommands as cmd
from gui.fitCommands.helpers import droneStackLimit
class DroneViewDrop(wx.DropTarget):
@@ -216,7 +217,8 @@ class DroneView(Display):
event.Skip()
return
if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=1)):
amount = droneStackLimit(fit, event.itemID) if wx.GetMouseState().CmdDown() else 1
if self.mainFrame.command.Submit(cmd.GuiAddLocalDroneCommand(fitID=fitID, itemID=event.itemID, amount=amount)):
self.mainFrame.additionsPane.select('Drones')
event.Skip()

View File

@@ -324,7 +324,8 @@ def stateLimit(itemIdentity):
return FittingModuleState.ACTIVE
def droneStackLimit(fit, item):
def droneStackLimit(fit, itemIdentity):
item = Market.getInstance().getItem(itemIdentity)
hardLimit = max(5, fit.extraAttributes["maxActiveDrones"])
releaseLimit = fit.getReleaseLimitForDrone(item)
limit = min(hardLimit, releaseLimit if releaseLimit > 0 else math.inf)