Cleanup debriefing signals.

We don't need most of this information.
This commit is contained in:
Dan Albert 2020-12-06 16:04:13 -08:00
parent aea82e2266
commit 84b8613cf5
5 changed files with 22 additions and 29 deletions

View File

@ -103,9 +103,10 @@ class Debriefing:
def __init__(self, state_data: Dict[str, Any], game: Game,
unit_map: UnitMap) -> None:
self.state_data = StateData.from_json(state_data)
self.game = game
self.unit_map = unit_map
self.player_country = game.player_country
self.enemy_country = game.enemy_country
self.player_country_id = db.country_id_from_name(game.player_country)
self.enemy_country_id = db.country_id_from_name(game.enemy_country)

View File

@ -1,19 +1,11 @@
from __future__ import annotations
from typing import Optional, Tuple
from typing import Optional
from PySide2.QtCore import QObject, Signal
from game import Game
from game.event import Event, Debriefing
class DebriefingSignal:
def __init__(self, game, gameEvent, debriefing):
self.game = game
self.gameEvent = gameEvent
self.debriefing = debriefing
from game.event import Debriefing
class GameUpdateSignal(QObject):
@ -21,7 +13,7 @@ class GameUpdateSignal(QObject):
instance = None
gameupdated = Signal(Game)
budgetupdated = Signal(Game)
debriefingReceived = Signal(DebriefingSignal)
debriefingReceived = Signal(Debriefing)
flight_paths_changed = Signal()
package_selection_changed = Signal(int) # -1 indicates no selection.
@ -51,12 +43,9 @@ class GameUpdateSignal(QObject):
# noinspection PyUnresolvedReferences
self.budgetupdated.emit(game)
def sendDebriefing(self, game: Game, gameEvent: Event, debriefing: Debriefing):
sig = DebriefingSignal(game, gameEvent, debriefing)
def sendDebriefing(self, debriefing: Debriefing) -> None:
# noinspection PyUnresolvedReferences
self.gameupdated.emit(game)
# noinspection PyUnresolvedReferences
self.debriefingReceived.emit(sig)
self.debriefingReceived.emit(debriefing)
@staticmethod
def get_instance() -> GameUpdateSignal:

View File

@ -10,24 +10,21 @@ from PySide2.QtWidgets import (
QVBoxLayout,
)
from game import db
from game.debriefing import Debriefing
from game.game import Event, Game, db
class QDebriefingWindow(QDialog):
def __init__(self, debriefing: Debriefing, gameEvent: Event, game: Game):
def __init__(self, debriefing: Debriefing):
super(QDebriefingWindow, self).__init__()
self.debriefing = debriefing
self.setModal(True)
self.setWindowTitle("Debriefing")
self.setMinimumSize(300, 200)
self.setWindowIcon(QIcon("./resources/icon.png"))
self.game = game
self.gameEvent = gameEvent
self.debriefing = debriefing
self.initUI()
def initUI(self):
@ -45,7 +42,8 @@ class QDebriefingWindow(QDialog):
self.layout.addWidget(title)
# Player lost units
lostUnits = QGroupBox(self.game.player_country + "'s lost units :")
lostUnits = QGroupBox(
f"{self.debriefing.player_country}'s lost units:")
lostUnitsLayout = QGridLayout()
lostUnits.setLayout(lostUnitsLayout)
@ -87,7 +85,8 @@ class QDebriefingWindow(QDialog):
self.layout.addWidget(lostUnits)
# Enemy lost units
enemylostUnits = QGroupBox(self.game.enemy_country + "'s lost units :")
enemylostUnits = QGroupBox(
f"{self.debriefing.enemy_country}'s lost units:")
enemylostUnitsLayout = QGridLayout()
enemylostUnits.setLayout(enemylostUnitsLayout)

View File

@ -18,6 +18,7 @@ from PySide2.QtWidgets import (
import qt_ui.uiconstants as CONST
from game import Game, VERSION, persistency
from game.debriefing import Debriefing
from qt_ui.dialogs import Dialog
from qt_ui.displayoptions import DisplayGroup, DisplayOptions, DisplayRule
from qt_ui.models import GameModel
@ -286,9 +287,9 @@ class QLiberationWindow(QMainWindow):
self.subwindow = QLiberationPreferencesWindow()
self.subwindow.show()
def onDebriefing(self, debrief: DebriefingSignal):
def onDebriefing(self, debrief: Debriefing):
logging.info("On Debriefing")
self.debriefing = QDebriefingWindow(debrief.debriefing, debrief.gameEvent, debrief.game)
self.debriefing = QDebriefingWindow(debrief)
self.debriefing.show()
def closeEvent(self, event: QCloseEvent) -> None:

View File

@ -1,3 +1,5 @@
from __future__ import annotations
import json
import os
@ -37,7 +39,7 @@ class DebriefingFileWrittenSignal(QObject):
self.debriefingReceived.emit(debriefing)
@staticmethod
def get_instance():
def get_instance() -> DebriefingFileWrittenSignal:
return DebriefingFileWrittenSignal.instance
@ -185,7 +187,8 @@ class QWaitingForMissionResultWindow(QDialog):
self.game.finish_event(event=self.gameEvent, debriefing=self.debriefing)
self.game.pass_turn()
GameUpdateSignal.get_instance().sendDebriefing(self.game, self.gameEvent, self.debriefing)
GameUpdateSignal.get_instance().sendDebriefing(self.debriefing)
GameUpdateSignal.get_instance().updateGame(self.game)
self.close()
def debriefing_directory_location(self) -> str: