refactor: sammele die Events in eine eigene Datei

This commit is contained in:
2026-07-10 00:13:54 +02:00
parent 22fbdaa82f
commit d4002624f4
5 changed files with 62 additions and 59 deletions
View File
+42
View File
@@ -0,0 +1,42 @@
from MechFabrik.bauteile import CriticalStrikeEvent, InnerStructure, Item, StrikeEvent, ZoneNames
from events import CriticalStrikeEvent, StrikeEvent
class Mech(object):
def __init__(self, name: str, tonnage: float, movement_rate: int, inner_structure: InnerStructure):
self._movement_rate = movement_rate
self._tonnage = tonnage
self._name = name
self._inner_structure = inner_structure
@property
def name(self) -> str:
return self._name
@property
def tonnage(self) -> float:
return self._tonnage
@property
def inner_structure(self) -> InnerStructure:
return self._inner_structure
@property
def movement_rate(self) -> int:
return self._movement_rate
def set_item(self, key: tuple, item: Item):
pass
def strike(self, zone_name: ZoneNames, hits: int) -> StrikeEvent:
zone = self._inner_structure.zones.get(zone_name)
if zone is None:
raise Exception(f"Zone {zone_name} not found")
return StrikeEvent(zone, hits)
def critical_strike(self, zone_name: ZoneNames, index: tuple[int, int]) -> CriticalStrikeEvent:
zone = self._inner_structure.zones.get(zone_name)
if zone is None:
raise Exception(f"Zone {zone_name} not found")
return CriticalStrikeEvent(zone, index)