mirror of
https://github.com/dcs-retribution/dcs-retribution.git
synced 2025-11-10 15:41:24 +00:00
Add settings for scaling income.
This adds both player and enemy income multiplier options. Note that previously the AI was only getting 75% of their income. I've changed that to give them their full income by default since the player can now influence it.
This commit is contained in:
20
qt_ui/widgets/floatspinners.py
Normal file
20
qt_ui/widgets/floatspinners.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from typing import Optional
|
||||
|
||||
from PySide2.QtWidgets import QSpinBox
|
||||
|
||||
|
||||
class TenthsSpinner(QSpinBox):
|
||||
def __init__(self, minimum: Optional[int] = None,
|
||||
maximum: Optional[int] = None,
|
||||
initial: Optional[int] = None) -> None:
|
||||
super().__init__()
|
||||
|
||||
if minimum is not None:
|
||||
self.setMinimum(minimum)
|
||||
if maximum is not None:
|
||||
self.setMaximum(maximum)
|
||||
if initial is not None:
|
||||
self.setValue(initial)
|
||||
|
||||
def textFromValue(self, val: int) -> str:
|
||||
return f"X {val / 10:.1f}"
|
||||
26
qt_ui/widgets/spinsliders.py
Normal file
26
qt_ui/widgets/spinsliders.py
Normal file
@@ -0,0 +1,26 @@
|
||||
from PySide2.QtCore import Qt
|
||||
from PySide2.QtWidgets import QGridLayout, QLabel, QSlider
|
||||
|
||||
from qt_ui.widgets.floatspinners import TenthsSpinner
|
||||
|
||||
|
||||
class TenthsSpinSlider(QGridLayout):
|
||||
def __init__(self, label: str, minimum: int, maximum: int,
|
||||
initial: int) -> None:
|
||||
super().__init__()
|
||||
self.addWidget(QLabel(label), 0, 0)
|
||||
|
||||
slider = QSlider(Qt.Horizontal)
|
||||
slider.setMinimum(minimum)
|
||||
slider.setMaximum(maximum)
|
||||
slider.setValue(initial)
|
||||
self.spinner = TenthsSpinner(minimum, maximum, initial)
|
||||
slider.valueChanged.connect(lambda x: self.spinner.setValue(x))
|
||||
self.spinner.valueChanged.connect(lambda x: slider.setValue(x))
|
||||
|
||||
self.addWidget(slider, 1, 0)
|
||||
self.addWidget(self.spinner, 1, 1)
|
||||
|
||||
@property
|
||||
def value(self) -> float:
|
||||
return self.spinner.value() / 10
|
||||
Reference in New Issue
Block a user