feature: zentralisiere die Bauteile-Ausgabe

This commit is contained in:
2026-07-10 20:36:59 +02:00
parent e4ed45e2fb
commit af2d943094
4 changed files with 102 additions and 55 deletions
+11 -17
View File
@@ -1,15 +1,13 @@
import csv
import os.path
from mech_factory import AreaNames
# noinspection SpellCheckingInspection
class CsvDialect (csv.Dialect):
lineterminator='\r\n'
class CsvDialect(csv.Dialect):
lineterminator = '\r\n'
delimiter = ','
quotechar = '"'
quoting=csv.QUOTE_NONNUMERIC
quoting = csv.QUOTE_NONNUMERIC
class ComponentReader:
@@ -38,15 +36,11 @@ class ComponentReader:
def reactor_tonnage_from(self, reactor_value: int) -> float:
return float(self._reactor_data.get(reactor_value, {}).get('Tonnage', 0.0))
def inner_amor_for_tonnage_and_area(self, tonnage: float, area: AreaNames) -> int:
match area:
case AreaNames.HEAD:
return 3
case AreaNames.MIDDLE_TORSO:
return int(self._inner_structure_data.get(tonnage, {}).get('TorsoMitte', 0))
case AreaNames.RIGHT_TORSO | AreaNames.LEFT_TORSO:
return int(self._inner_structure_data.get(tonnage, {}).get('TorsoSeite', 0))
case AreaNames.RIGHT_ARM | AreaNames.LEFT_ARM:
return int(self._inner_structure_data.get(tonnage, {}).get('Arm', 0))
case AreaNames.RIGHT_LEG | AreaNames.LEFT_LEG:
return int(self._inner_structure_data.get(tonnage, {}).get('Bein', 0))
def inner_amor_for_tonnage(self, tonnage: float) -> dict[str, int]:
return {
'head': 3,
'middle_torso': int(self._inner_structure_data.get(tonnage, {}).get('TorsoMitte', 0)),
'side_torso': int(self._inner_structure_data.get(tonnage, {}).get('TorsoSeite', 0)),
'arm': int(self._inner_structure_data.get(tonnage, {}).get('Arm', 0)),
'leg': int(self._inner_structure_data.get(tonnage, {}).get('Bein', 0)),
}