Add drone stack via ctrl-doubleclick
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user