Merge pull request #189 from Headpigeon/master

Global Charge Switcher
This commit is contained in:
Ryan Holmes
2014-11-04 10:30:20 -05:00
2 changed files with 54 additions and 3 deletions

View File

@@ -1,3 +1,3 @@
__all__ = ["openFit", "moduleAmmoPicker", "itemStats", "damagePattern", "marketJump", "droneSplit", "itemRemove",
"droneRemoveStack", "ammoPattern", "project", "factorReload", "whProjector", "cargo", "shipJump",
"targetResists"]
__all__ = ["openFit", "moduleGlobalAmmoPicker", "moduleAmmoPicker", "itemStats", "damagePattern", "marketJump",
"droneSplit", "itemRemove", "droneRemoveStack", "ammoPattern", "project", "factorReload", "whProjector",
"cargo", "shipJump", "targetResists"]

View File

@@ -0,0 +1,51 @@
# -*- coding: utf-8 -*-
from gui.contextMenu import ContextMenu
import gui.mainFrame
import service
import wx
from gui import bitmapLoader
from eos.types import Hardpoint
import gui.globalEvents as GE
from gui.builtinContextMenus.moduleAmmoPicker import ModuleAmmoPicker
import eos.db
class ModuleGlobalAmmoPicker(ModuleAmmoPicker):
def __init__(self):
self.mainFrame = gui.mainFrame.MainFrame.getInstance()
def getText(self, itmContext, selection):
return "Charge (All)"
def handleAmmoSwitch(self, event):
if len(self.modules) != 1:
event.Skip()
return
charge = self.chargeIds.get(event.Id, False)
if charge is False:
event.Skip()
return
sFit = service.Fit.getInstance()
fitID = self.mainFrame.getActiveFit()
fit = eos.db.getFit(fitID)
selectedModule = self.modules[0]
allModules = []
for mod in fit.modules:
if mod.itemID == None:
continue
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))
def display(self, srcContext, selection):
if len(selection) != 1:
return False
return super(ModuleGlobalAmmoPicker, self).display(srcContext, selection)
ModuleGlobalAmmoPicker.register()