Improved FOB support : new custom banner for FOB menu and do not display aircrafts menu on first page.

This commit is contained in:
Khopa 2021-04-17 23:49:49 +02:00
parent ce13295cf0
commit e63743f537
4 changed files with 29 additions and 12 deletions

View File

@ -172,6 +172,8 @@ class QBaseMenu2(QDialog):
return "./resources/ui/carrier.png" return "./resources/ui/carrier.png"
elif self.cp.cptype == ControlPointType.LHA_GROUP: elif self.cp.cptype == ControlPointType.LHA_GROUP:
return "./resources/ui/lha.png" return "./resources/ui/lha.png"
elif self.cp.cptype == ControlPointType.FOB:
return "./resources/ui/fob.png"
else: else:
return "./resources/ui/airbase.png" return "./resources/ui/airbase.png"

View File

@ -1,6 +1,6 @@
from PySide2.QtWidgets import QTabWidget from PySide2.QtWidgets import QTabWidget
from game.theater import ControlPoint, OffMapSpawn from game.theater import ControlPoint, OffMapSpawn, Fob
from qt_ui.models import GameModel from qt_ui.models import GameModel
from qt_ui.windows.basemenu.airfield.QAirfieldCommand import QAirfieldCommand from qt_ui.windows.basemenu.airfield.QAirfieldCommand import QAirfieldCommand
from qt_ui.windows.basemenu.base_defenses.QBaseDefensesHQ import QBaseDefensesHQ from qt_ui.windows.basemenu.base_defenses.QBaseDefensesHQ import QBaseDefensesHQ
@ -19,14 +19,26 @@ class QBaseMenuTabs(QTabWidget):
self.intel = QIntelInfo(cp, game_model.game) self.intel = QIntelInfo(cp, game_model.game)
self.addTab(self.intel, "Intel") self.addTab(self.intel, "Intel")
else: else:
self.airfield_command = QAirfieldCommand(cp, game_model)
self.addTab(self.airfield_command, "Airfield Command")
if cp.is_carrier: if cp:
self.base_defenses_hq = QBaseDefensesHQ(cp, game_model.game) if isinstance(cp, Fob):
self.addTab(self.base_defenses_hq, "Fleet") self.ground_forces_hq = QGroundForcesHQ(cp, game_model)
elif not isinstance(cp, OffMapSpawn): self.addTab(self.ground_forces_hq, "Ground Forces HQ")
self.ground_forces_hq = QGroundForcesHQ(cp, game_model) if cp.helipads:
self.addTab(self.ground_forces_hq, "Ground Forces HQ") self.airfield_command = QAirfieldCommand(cp, game_model)
self.base_defenses_hq = QBaseDefensesHQ(cp, game_model.game) self.addTab(self.airfield_command, "Heliport")
self.addTab(self.base_defenses_hq, "Base Defenses") self.base_defenses_hq = QBaseDefensesHQ(cp, game_model.game)
self.addTab(self.base_defenses_hq, "Base Defenses")
else:
self.airfield_command = QAirfieldCommand(cp, game_model)
self.addTab(self.airfield_command, "Airfield Command")
if cp.is_carrier:
self.base_defenses_hq = QBaseDefensesHQ(cp, game_model.game)
self.addTab(self.base_defenses_hq, "Fleet")
elif not isinstance(cp, OffMapSpawn):
self.ground_forces_hq = QGroundForcesHQ(cp, game_model)
self.addTab(self.ground_forces_hq, "Ground Forces HQ")
self.base_defenses_hq = QBaseDefensesHQ(cp, game_model.game)
self.addTab(self.base_defenses_hq, "Base Defenses")

View File

@ -12,11 +12,12 @@ from PySide2.QtWidgets import (
QVBoxLayout, QVBoxLayout,
QWidget, QWidget,
) )
from dcs.helicopters import helicopter_map
from dcs.task import CAP, CAS, AWACS from dcs.task import CAP, CAS, AWACS
from dcs.unittype import FlyingType, UnitType from dcs.unittype import FlyingType, UnitType
from game import db from game import db
from game.theater import ControlPoint from game.theater import ControlPoint, ControlPointType
from qt_ui.models import GameModel from qt_ui.models import GameModel
from qt_ui.uiconstants import ICONS from qt_ui.uiconstants import ICONS
from qt_ui.windows.basemenu.QRecruitBehaviour import QRecruitBehaviour from qt_ui.windows.basemenu.QRecruitBehaviour import QRecruitBehaviour
@ -63,6 +64,8 @@ class QAircraftRecruitmentMenu(QFrame, QRecruitBehaviour):
continue continue
if self.cp.is_lha and unit not in db.LHA_CAPABLE: if self.cp.is_lha and unit not in db.LHA_CAPABLE:
continue continue
if self.cp.cptype in [ControlPointType.FOB, ControlPointType.FARP] and unit not in helicopter_map.values():
continue
unit_types.add(unit) unit_types.add(unit)
sorted_units = sorted( sorted_units = sorted(

BIN
resources/ui/fob.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB