Convert module charge handling to command pattern (adding charges and removing charges)

This commit is contained in:
blitzmann
2018-07-21 18:04:07 -04:00
parent ec3cd75f4c
commit 5d0342ee2d
6 changed files with 38 additions and 12 deletions

View File

@@ -39,7 +39,7 @@ class ItemRemove(ContextMenu):
self.mainFrame.command.Submit(cmd.FitModuleRemoveCommand(fitID, modules))
return # the command takes care of the PostEvent
elif srcContext in ("fittingCharge", "projectedCharge"):
sFit.setAmmo(fitID, None, selection)
self.mainFrame.command.Submit(cmd.FitModuleAddChargeCommand(fitID, None, selection))
elif srcContext == "droneItem":
sFit.removeDrone(fitID, fit.drones.index(selection[0]))
elif srcContext == "fighterItem":

View File

@@ -11,7 +11,7 @@ import gui.globalEvents as GE
from gui.contextMenu import ContextMenu
from gui.bitmap_loader import BitmapLoader
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class ModuleAmmoPicker(ContextMenu):
DAMAGE_TYPES = ("em", "explosive", "kinetic", "thermal")
@@ -228,11 +228,8 @@ class ModuleAmmoPicker(ContextMenu):
event.Skip()
return
sFit = Fit.getInstance()
fitID = self.mainFrame.getActiveFit()
sFit.setAmmo(fitID, charge.ID if charge is not None else None, self.modules)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
self.mainFrame.command.Submit(cmd.FitModuleAddChargeCommand(fitID, charge.ID if charge is not None else None, self.modules))
ModuleAmmoPicker.register()

View File

@@ -7,7 +7,7 @@ from gui.builtinContextMenus.moduleAmmoPicker import ModuleAmmoPicker
from eos.db.saveddata.queries import getFit as db_getFit
from service.fit import Fit
from service.settings import ContextMenuSettings
import gui.fitCommands as cmd
class ModuleGlobalAmmoPicker(ModuleAmmoPicker):
def __init__(self):
@@ -40,8 +40,7 @@ class ModuleGlobalAmmoPicker(ModuleAmmoPicker):
if mod.itemID == selectedModule.itemID:
allModules.append(mod)
sFit.setAmmo(fitID, charge.ID if charge is not None else None, allModules)
wx.PostEvent(self.mainFrame, GE.FitChanged(fitID=fitID))
self.mainFrame.command.Submit(cmd.FitModuleAddChargeCommand(fitID, charge.ID if charge is not None else None, allModules))
def display(self, srcContext, selection):
if not self.settings.get('moduleGlobalAmmoPicker'):