mirror of
https://github.com/dcs-liberation/dcs_liberation.git
synced 2025-11-10 14:22:26 +00:00
New game wizard : added to slider to choose starting money
This commit is contained in:
parent
a0ff78a810
commit
f4b07cb518
@ -95,11 +95,11 @@ class QTopPanel(QFrame):
|
|||||||
if game is None:
|
if game is None:
|
||||||
return
|
return
|
||||||
|
|
||||||
self.turnCounter.setCurrentTurn(self.game.turn, self.game.current_day)
|
self.turnCounter.setCurrentTurn(game.turn, game.current_day)
|
||||||
self.budgetBox.setGame(self.game)
|
self.budgetBox.setGame(game)
|
||||||
self.factionsInfos.setGame(self.game)
|
self.factionsInfos.setGame(game)
|
||||||
|
|
||||||
if self.game and self.game.turn == 0:
|
if game and game.turn == 0:
|
||||||
self.proceedButton.setEnabled(False)
|
self.proceedButton.setEnabled(False)
|
||||||
else:
|
else:
|
||||||
self.proceedButton.setEnabled(True)
|
self.proceedButton.setEnabled(True)
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import logging
|
|||||||
from typing import List
|
from typing import List
|
||||||
|
|
||||||
from PySide2 import QtGui, QtWidgets
|
from PySide2 import QtGui, QtWidgets
|
||||||
from PySide2.QtCore import QItemSelectionModel, QPoint
|
from PySide2.QtCore import QItemSelectionModel, QPoint, Qt
|
||||||
from PySide2.QtWidgets import QVBoxLayout
|
from PySide2.QtWidgets import QVBoxLayout
|
||||||
from dcs.task import CAP, CAS
|
from dcs.task import CAP, CAS
|
||||||
|
|
||||||
@ -63,6 +63,7 @@ class NewGameWizard(QtWidgets.QWizard):
|
|||||||
no_player_navy = self.field("no_player_navy")
|
no_player_navy = self.field("no_player_navy")
|
||||||
no_enemy_navy = self.field("no_enemy_navy")
|
no_enemy_navy = self.field("no_enemy_navy")
|
||||||
invertMap = self.field("invertMap")
|
invertMap = self.field("invertMap")
|
||||||
|
starting_money = int(self.field("starting_money"))
|
||||||
|
|
||||||
player_name = blueFaction
|
player_name = blueFaction
|
||||||
enemy_name = redFaction
|
enemy_name = redFaction
|
||||||
@ -76,12 +77,12 @@ class NewGameWizard(QtWidgets.QWizard):
|
|||||||
settings.do_not_generate_enemy_navy = no_enemy_navy
|
settings.do_not_generate_enemy_navy = no_enemy_navy
|
||||||
|
|
||||||
self.generatedGame = self.start_new_game(player_name, enemy_name, conflictTheater, midGame, multiplier,
|
self.generatedGame = self.start_new_game(player_name, enemy_name, conflictTheater, midGame, multiplier,
|
||||||
timePeriod, settings)
|
timePeriod, settings, starting_money)
|
||||||
|
|
||||||
super(NewGameWizard, self).accept()
|
super(NewGameWizard, self).accept()
|
||||||
|
|
||||||
def start_new_game(self, player_name: str, enemy_name: str, conflictTheater: ConflictTheater,
|
def start_new_game(self, player_name: str, enemy_name: str, conflictTheater: ConflictTheater,
|
||||||
midgame: bool, multiplier: float, period: datetime, settings:Settings):
|
midgame: bool, multiplier: float, period: datetime, settings:Settings, starting_money: int):
|
||||||
|
|
||||||
# Reset name generator
|
# Reset name generator
|
||||||
namegen.reset()
|
namegen.reset()
|
||||||
@ -102,14 +103,10 @@ class NewGameWizard(QtWidgets.QWizard):
|
|||||||
|
|
||||||
print("-- Game Object generated")
|
print("-- Game Object generated")
|
||||||
start_generator.generate_groundobjects(conflictTheater, game)
|
start_generator.generate_groundobjects(conflictTheater, game)
|
||||||
game.budget = int(game.budget * multiplier)
|
game.budget = starting_money
|
||||||
game.settings.multiplier = multiplier
|
game.settings.multiplier = multiplier
|
||||||
game.settings.sams = True
|
game.settings.sams = True
|
||||||
game.settings.version = CONST.VERSION_STRING
|
game.settings.version = CONST.VERSION_STRING
|
||||||
|
|
||||||
if midgame:
|
|
||||||
game.budget = game.budget * 4 * len(list(conflictTheater.conflicts()))
|
|
||||||
|
|
||||||
return game
|
return game
|
||||||
|
|
||||||
|
|
||||||
@ -330,6 +327,23 @@ class MiscOptions(QtWidgets.QWizardPage):
|
|||||||
no_enemy_navy = QtWidgets.QCheckBox()
|
no_enemy_navy = QtWidgets.QCheckBox()
|
||||||
self.registerField('no_enemy_navy', no_enemy_navy)
|
self.registerField('no_enemy_navy', no_enemy_navy)
|
||||||
|
|
||||||
|
# Economy settings
|
||||||
|
economySettingsGroup = QtWidgets.QGroupBox("Economy")
|
||||||
|
starting_money_slider = QtWidgets.QSlider(Qt.Horizontal)
|
||||||
|
starting_money_slider.setMinimum(0)
|
||||||
|
starting_money_slider.setMaximum(5000)
|
||||||
|
starting_money_slider.setValue(650)
|
||||||
|
starting_money_label = QtWidgets.QLabel("$650M")
|
||||||
|
starting_money_slider.valueChanged.connect(lambda x: starting_money_label.setText("${}M".format(x)))
|
||||||
|
self.registerField('starting_money', starting_money_slider)
|
||||||
|
|
||||||
|
layout = QtWidgets.QGridLayout()
|
||||||
|
layout.addWidget(QtWidgets.QLabel("Start at mid game"), 1, 0)
|
||||||
|
layout.addWidget(midGame, 1, 1)
|
||||||
|
layout.addWidget(QtWidgets.QLabel("Ennemy forces multiplier [Disabled for Now]"), 2, 0)
|
||||||
|
layout.addWidget(multiplier, 2, 1)
|
||||||
|
miscSettingsGroup.setLayout(layout)
|
||||||
|
|
||||||
generatorLayout = QtWidgets.QGridLayout()
|
generatorLayout = QtWidgets.QGridLayout()
|
||||||
generatorLayout.addWidget(QtWidgets.QLabel("No Aircraft Carriers"), 1, 0)
|
generatorLayout.addWidget(QtWidgets.QLabel("No Aircraft Carriers"), 1, 0)
|
||||||
generatorLayout.addWidget(no_carrier, 1, 1)
|
generatorLayout.addWidget(no_carrier, 1, 1)
|
||||||
@ -343,16 +357,16 @@ class MiscOptions(QtWidgets.QWizardPage):
|
|||||||
generatorLayout.addWidget(no_enemy_navy, 5, 1)
|
generatorLayout.addWidget(no_enemy_navy, 5, 1)
|
||||||
generatorSettingsGroup.setLayout(generatorLayout)
|
generatorSettingsGroup.setLayout(generatorLayout)
|
||||||
|
|
||||||
layout = QtWidgets.QGridLayout()
|
economyLayout = QtWidgets.QGridLayout()
|
||||||
layout.addWidget(QtWidgets.QLabel("Start at mid game"), 1, 0)
|
economyLayout.addWidget(QtWidgets.QLabel("Starting money"), 0, 0)
|
||||||
layout.addWidget(midGame, 1, 1)
|
economyLayout.addWidget(starting_money_slider, 1, 0)
|
||||||
layout.addWidget(QtWidgets.QLabel("Ennemy forces multiplier [Disabled for Now]"), 2, 0)
|
economyLayout.addWidget(starting_money_label, 1, 1)
|
||||||
layout.addWidget(multiplier, 2, 1)
|
economySettingsGroup.setLayout(economyLayout)
|
||||||
miscSettingsGroup.setLayout(layout)
|
|
||||||
|
|
||||||
mlayout = QVBoxLayout()
|
mlayout = QVBoxLayout()
|
||||||
mlayout.addWidget(miscSettingsGroup)
|
mlayout.addWidget(miscSettingsGroup)
|
||||||
mlayout.addWidget(generatorSettingsGroup)
|
mlayout.addWidget(generatorSettingsGroup)
|
||||||
|
mlayout.addWidget(economySettingsGroup)
|
||||||
self.setLayout(mlayout)
|
self.setLayout(mlayout)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user